Precisamos conectar nosso script php ao LDAP sobre tls usando um certificado. A conexão LDAP funciona bem sem tls. Mais detalhes aqui /programming/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend
Conseguimos conectar via tls a partir do Windows usando o Softerra LDAP Browser. Ele nos pediu para instalar um certificado e se confiamos nele.
Meu resultado final é poder me autenticar com LDAP usando TLS do php. Recebi um certificado do tipo .cer. Vem de uma máquina Windows Exchange. Pelo que vejo, o SLES suporta certificados .pem. Então minha pergunta é ...
Q1: Preciso converter de .cer para .pem antes de poder instalar o certificado no cliente (que é o servidor SLES) e, finalmente, Q2: qual é a melhor maneira de instalar esse certificado no servidor para que meu aplicativo php possa acessá-lo e fazer seu trabalho . Observe que no servidor SLES, precisamos nos conectar a diferentes servidores LDAP.
No momento, se corrermos
ldapsearch -H ldaps://localhost:9215 -W
Nós temos
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)
Encontrei muitas informações boas aqui http://www.php.net/manual/de/function.ldap-connect.php#36156 e, especialmente, essa frase é importante aos meus olhosOnce 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 setembro de 2012 13:14:42) $ abuild @ baur: /usr/src/packages/BUILD/openldap-2.4.26/clients/tools (biblioteca LDAP: OpenLDAP 20426)