Re: Active Directory, Zertifikate und PHP
From: Dominik Heinz (chiefnick_at_gmx.de)
Date: 08/26/04
- Next message: Norbert Fehlauer [MVP]: "Re: Anmeldeprobleme"
- Previous message: Norbert Fehlauer [MVP]: "Re: Kann man Nutzer von einem Standalone-Server auf einen anderen verschieben?"
- In reply to: Oklas: "Active Directory, Zertifikate und PHP"
- Next in thread: Oklas: "Re: Active Directory, Zertifikate und PHP"
- Reply: Oklas: "Re: Active Directory, Zertifikate und PHP"
- Messages sorted by: [ date ] [ thread ]
Date: Thu, 26 Aug 2004 12:28:02 +0200
Yap, da gibt es eine recht coole Lösung für dein Problem
Wenn du per ldaps auf deinen Active Directory gehen willst..
geh auf deinen Server und erstelle das Verzeichnis
C:\OpenLDAP\sysconf\
da erstellst du die Datei ldap.conf file , die in der ersten Zeile den
Eintrag:
TLS_REQCERT never
hat.
Warum in dem Verzeichnis und in der Datei weiss keiner so genau. Das liegt
irgendwo in den Programmtiefen von php_ldap.dll ...
probiers
gruß, d.Heinz
"Oklas" <nobody@no-spamming-please.com> schrieb im Newsbeitrag
news:cgk9bi$e4e$1@news.mch.sbs.de...
> Hallo NG,
>
> ich habe ein Problem, an dem ich seit zwei Wochen sitze und nicht voran
> komme. Ich habe einen W2k3 Webserver, der auf einen W2k3 AD - Server im
> Intranet zugreift. Ich erstelle nämlich ein Webfrontend, bei dem die
> Anmeldung mit den AD Daten funktionieren soll. Wenn der bind mit den
> angegebenen Daten klappt, sind die Benutzer authentifiziert auf die
> Webseite
> zuzugreifen.
> Dies klappt auch einwandfrei, wenn ich "normal" auf den AD Server
> zugreife.
>
> ldap_connect("ad.server.de", "389");
>
> Jetzt ist das Problem, dass die Daten dann unverschlüsselt übers Netz
> gehen.
> Da ich 2 "Verbindungen" habe:
>
> 1.) Clientrechner/Webbrowser <-> Webserver
> 2.) Webserver <-> AD Server
>
> muss ich beide Verbindungen verschlüsseln.Die erste "Verbindung" ist kein
> Problem, da ich einfach auf https umgeschaltet habe. Da sind die Daten
> verschlüsselt. Jedoch muss die zweite Verbindung ja auch noch abgesichert
> werden. Versuche mittels :
>
> ldap_connect("ad.server.de", "636"); oder
> ldap_connect("ldaps://ad.server.de");
>
> bringen mich immer zu der Fehlermeldung : "Can't contact LDAP Server"
>
> Jetzt habe ich mir openLDAP runtergeladen und auf dem Webserver
> installiert.
> Wenn ich den Befehl
>
> ldapsearch -H "ldaps://ad.server.de" absetze, erhalte ich die
> Fehlermeldung
> :
> F:\openldap>ldapsearch -H "ldaps://ad.server.de"
> ldap_bind: Can't contact LDAP server (-1)
> additional info: error:14090086:SSL
> routines:SSL3_GET_SERVER_CERTIFICATE
> :certificate verify failed
>
> Mit eingeschaltetem Debuglevel sieht das dann so aus :
>
> F:\openldap>ldapsearch -H "ldaps://ad.server.de" -d 7
> ldap_create
> ldap_url_parse_ext(ldaps://ad.server.de)
> ldap_bind_s
> ldap_simple_bind_s
> ldap_sasl_bind_s
> ldap_sasl_bind
> ldap_send_initial_request
> ldap_new_connection
> ldap_int_open_connection
> ldap_connect_to_host: TCP ad.server.de:636
> ldap_new_socket: 1940
> ldap_prepare_socket: 1940
> ldap_connect_to_host: Trying 123.456.789.123:636
> ldap_connect_timeout: fd: 1940 tm: -1 async: 0
> ldap_ndelay_on: 1940
> ldap_ndelay_off: 1940
> TLS trace: SSL_connect:before/connect initialization
> tls_write: want=148, written=148
> [...] ..?y
> TLS trace: SSL_connect:SSLv2/v3 write client hello A
> tls_read: want=7, got=7
> 0000: [...]
> tls_read: want=6937, got=2913
> 0000: [...]
> tls_read: want=4024, got=4024
> 0000: 62 61 73 65 3f 6f 62 6a 65 63 74 43 6c 61 73 73
> base?objectClass
> 0010: 3d 63 52 4c 44 69 73 74 72 69 62 75 74 69 6f 6e
> =cRLDistribution
> 0020: 50 6f 69 6e 74 30 81 db 06 08 2b 06 01 05 05 07
> Point0....+.....
> 0030: 01 01 04 81 ce 30 81 cb 30 81 c8 06 08 2b 06 01
> .....0..0....+..
> 0040: 05 05 07 30 02 86 81 bb 6c 64 61 70 3a 2f 2f 2f
> ...0....ldap:///
> [...]
> 0f90: 4d 69 63 72 6f 73 6f 66 74 20 52 6f 6f 74 20 43 Microsoft Root
> C
> 0fa0: 65 72 74 69 66 69 63 61 74 65 20 41 75 74 68 6f ertificate
> Autho
> 0fb0: 72 69 74 79 0e 00 00 00 rity....
> TLS trace: SSL_connect:SSLv3 read server hello A
> TLS certificate verification: depth: 1, err: 20, subject: [....]
>
> TLS certificate verification: Error, unable to get local issuer
> certificate
> tls_write: want=7, written=7
> [...]
> TLS trace: SSL3 alert write:fatal:unknown CA
> TLS trace: SSL_connect:error in SSLv3 read server certificate B
> TLS trace: SSL_connect:error in SSLv3 read server certificate B
> TLS: can't connect.
> ldap_perror
> ldap_bind: Can't contact LDAP server (-1)
> additional info: error:14090086:SSL
> routines:SSL3_GET_SERVER_CERTIFICATE
> :certificate verify failed
>
> F:\openldap>
>
>
> Wer ist denn der local issuer? Wieso kriegt er das Zertifikat nicht? Woher
> krieg ich das Zertifikat, um es ihm geben zu können. Es muss ein
> Zertifikatsproblem sein, denn als ich versucht habe, mich mittels ldp.exe
> am
> AD Server anzumelden, ging das anfangs auch nicht auf Port 636. Erst
> nachdem
> ich das AD Root Zertifikat in den Personal Store des Computers eingefügt
> habe... Seitdem kann ich mich problemlos mit lpd.exe an den AD Server
> connecten...
> Anfangs versuchte ich die openssl.cnf zu von php zu konfigurieren, aber
> leider sagen mir die ganzen Begrifflichkeiten nicht viel. Ich bin kein
> Zertifikatsprofi, von daher brauche ich unbedingt "einfache" Hilfe...
> Falls
> mir jemand weiterhelfen kann, bin ich ihm sehr dankbar dafür. googeln und
> newsforen durchstöbern hat mich zwei Wochen lang keinen Schritt
> weitergebracht....
>
>
> Danke,
>
> Oklas
>
>
- Next message: Norbert Fehlauer [MVP]: "Re: Anmeldeprobleme"
- Previous message: Norbert Fehlauer [MVP]: "Re: Kann man Nutzer von einem Standalone-Server auf einen anderen verschieben?"
- In reply to: Oklas: "Active Directory, Zertifikate und PHP"
- Next in thread: Oklas: "Re: Active Directory, Zertifikate und PHP"
- Reply: Oklas: "Re: Active Directory, Zertifikate und PHP"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|