Necesitamos conectar nuestro script php a LDAP a través de tls usando un certificado. La conexión LDAP funciona bien sin tls. Más detalles aquí /programming/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend
Logramos conectarnos a través de tls desde Windows usando el navegador Softerra LDAP. Nos pidió que instalemos un certificado y si confiamos en él.
Mi resultado final es poder autenticarme con LDAP usando TLS de php. Me han dado un certificado de tipo .cer. Proviene de una máquina con Windows Exchange. Por lo que puedo ver, SLES admite certificados .pem. Entonces mi pregunta es ...
Q1: ¿Necesito convertir de .cer a .pem primero antes de poder instalar el certificado en el cliente (que es el servidor SLES) y finalmente Q2: cuál es la mejor manera de instalar este certificado en el servidor para que mi aplicación php pueda acceder a él y hacer su trabajo . Tenga en cuenta que en el servidor SLES necesitamos conectarnos a diferentes servidores LDAP.
En la actualidad si corremos
ldapsearch -H ldaps://localhost:9215 -W
obtenemos
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)
Encontré mucha información buena aquí http://www.php.net/manual/de/function.ldap-connect.php#36156 y especialmente esta oración es importante a mis ojosOnce 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 de septiembre de 2012 13:14:42) $ abuild @ baur: /usr/src/packages/BUILD/openldap-2.4.26/clients/tools (biblioteca LDAP: OpenLDAP 20426)