Re: Active Directory, Zertifikate und PHP

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance

From: Dominik Heinz (chiefnick_at_gmx.de)
Date: 08/26/04


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
>
>



Relevant Pages

  • Re: Active Directory, Zertifikate und PHP
    ... > Wenn du per ldaps auf deinen Active Directory gehen willst.. ... > Warum in dem Verzeichnis und in der Datei weiss keiner so genau. ... Wieso kriegt er das Zertifikat nicht? ... Oklas ...
    (microsoft.public.de.german.win2000.active_directory)
  • Re: Laufwerkmapping
    ... Du erstellst eine TXT Datei in der Du genau wie Du es für Deinen Fall beschrieben hast das eingibst "net use m: ... Jetzt brauchst Du nur noch auf dem Server in der Benutzerverwaltung der einzelnen User im Profil unter "Login Script": ...
    (microsoft.public.de.german.windows.server.active_directory)
  • Re: API anstatt keytool/openssl
    ... den Server mit den CA-Schlüsseln hast du eine PKI nachgebaut. ... Mensch möchte Peer im Netzwerk werden, ... im Keystore und das Zertifikat der Root-CA, womit er ein Registrierung seines Clients im Netz vornehmen kann. ...
    (de.comp.lang.java)
  • Re: HTTPS funktioniert nicht?
    ... kannst du HTTPS ohne ein Zertifikat nicht benutzen. ... to VIP (Server IP) Dienst any ist, ... Rufe ich die Seite mit HTTP auf, obwohl ich SSL aktiviert habe, so ...
    (microsoft.public.de.inetserver.iis)
  • Re: selbstsigniertes SSL Zertifikat
    ... Wie willst Du anhand des Zertifikats feststellen, welcher Server ... zugehörigem Zertifikat durch die weite Welt von einem Server zum ... korrespondierenden privaten Schlüssels den im Zertifikat eingetragenen ... nicht aus der Hand gegeben hat und der private key auch nicht "gestohlen" ...
    (de.comp.security.misc)