Wir müssen unser PHP-Skript mit einem Zertifikat über tls mit LDAP verbinden. Die LDAP-Verbindung funktioniert gut ohne tls. Weitere Details hier https://stackoverflow.com/questions/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend
Wir haben es geschafft, uns über tls von Windows mit dem Softerra LDAP Browser zu verbinden. Es hat uns gefragt, ob wir ein Zertifikat installieren und ob wir ihm vertrauen.
Mein Endergebnis ist, dass ich mich mit LDAP mit TLS von PHP authentifizieren kann. Ich habe ein Zertifikat vom Typ .cer erhalten. Es kommt von einem Windows Exchange-Rechner. Soweit ich sehen kann, unterstützt SLES .pem-Zertifikate. Meine Frage ist also …
F1:Muss ich von .cer in .pem konvertieren zuerst, bevor ich das Zertifikat auf dem Client (dem SLES-Server) installieren kann und schließlich F2:Wie installiere ich dieses Zertifikat am besten auf dem Server, damit meine PHP-Anwendung darauf zugreifen und seine Arbeit erledigen kann . Beachten Sie, dass wir auf dem SLES-Server eine Verbindung zu verschiedenen LDAP-Servern herstellen müssen.
Zur Zeit wenn wir laufen
ldapsearch -H ldaps://localhost:9215 -W
wir bekommen
Enter LDAP Password:
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)
Ich habe hier viele gute Infos gefunden http://www.php.net/manual/de/function.ldap-connect.php#36156 und besonders dieser Satz ist in meinen Augen wichtig Once you've gotten the ldapsearch tool working correctly PHP should work also.
- SUSE Linux Enterprise Server 11 (x86_64)
- ldapsearch:@(#) $OpenLDAP:ldapsearch 2.4.26 (26. September 2012 13:14:42) $
[email protected]:/usr/src/packages/BUILD/openldap-2.4.26 /clients/tools
(LDAP-Bibliothek:OpenLDAP 20426)
Akzeptierte Antwort:
Das bedeutet, dass das Zertifikat auf dem Server abgelaufen oder ungültig ist.
Verwenden Sie zur Problemumgehung LDAPTLS_REQCERT
Variable, um das Zertifikat zu ignorieren, z. B.:
LDAPTLS_REQCERT=never ldapsearch -D "cn=drupal-test,ou=Services,dc=example,dc=com" -w my_pass -h ldap.example.com -b "ou=People,dc=example,dc=com" -s sub -x -ZZ "(uid=admin)"
Andernfalls können Sie das Zertifikat importieren und als vertrauenswürdig markieren.