Potřebujeme připojit náš php skript k LDAP přes tls pomocí certifikátu. Připojení LDAP funguje dobře bez tls. Více podrobností zde https://stackoverflow.com/questions/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend
Podařilo se nám připojit přes tls z Windows pomocí prohlížeče Softerra LDAP. Požádal nás o instalaci certifikátu a o to, zda mu věříme.
Mým konečným výsledkem je možnost autentizace pomocí LDAP pomocí TLS z php. Byl mi udělen certifikát typu .cer. Pochází ze stroje Windows Exchange. Z toho, co vidím, SLES podporuje certifikáty .pem. Moje otázka tedy zní…
Otázka 1:Musím převést z .cer na .pem? nejprve před instalací certifikátu na klienta (což je server SLES) a nakonec O2:jaký je nejlepší způsob, jak nainstalovat tento certifikát na server, aby k němu moje php aplikace měla přístup a dělala svou práci . Všimněte si, že na serveru SLES se potřebujeme připojit k různým serverům LDAP.
V současné době, pokud běžíme
ldapsearch -H ldaps://localhost:9215 -W
dostáváme
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)
Našel jsem spoustu dobrých informací zde http://www.php.net/manual/de/function.ldap-connect.php#36156 a zvláště tato věta je v mých očích důležitá 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. září 2012 13:14:42) $
[e-mail chráněný]:/usr/src/packages/BUILD/openldap-2.4.26 /clients/tools
(Knihovna LDAP:OpenLDAP 20426)
Přijatá odpověď:
To znamená, že certifikát na serveru vypršel nebo je neplatný.
Pokud jde o náhradní řešení, použijte LDAPTLS_REQCERT
proměnnou ignorovat certifikát, např.:
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)"
Jinak můžete certifikát importovat a označit jej jako důvěryhodný.