Lorsque j'essaie d'établir des connexions ldaps avec mon serveur Novel eDirectory 8.8, je dois parfois mettre TLS_REQCERT never
le fichier ldap.conf des serveurs clients. De toute évidence, c'est une mauvaise idée.
La commande que j'exécute est quelque chose comme ça avec des informations d'identification qui fonctionnent réellement ...
ldapsearch -x -H ldaps://ldapserver -b 'ou=active,ou=people,dc=example,dc=org' -D 'cn=admin,dc=example,dc=org' -W "cn=username"
Sur Ubuntu 13.10, cela fonctionne bien.
Sur SLES, cela fonctionne bien.
Sur CentOS 6.5, il renvoie:
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Maintenant, le certificat que j'ai importé est un certificat générique acheté auprès de DigiCert. Mon collègue a trouvé des rapports indiquant que certains systèmes ont des problèmes avec les caractères génériques.
Alors, le certificat générique est-il à blâmer? Si oui, comment puis-je le réparer?
Si ce n'est pas le certificat générique, alors qu'est-ce que c'est?
Suite à la suggestion d'Andrew Schulman, j'ai ajouté -d1
à ma commande ldapsearch. Voici ce que j'ai fini avec:
ldap_url_parse_ext(ldaps://ldap.example.org)
ldap_create
ldap_url_parse_ext(ldaps://ldap.example.org:636/??base)
Enter LDAP Password:
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP ldap.example.org:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 10.225.0.24:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
TLS: certdb config: configDir='/etc/openldap' tokenDescription='ldap(0)' certPrefix='cacerts' keyPrefix='cacerts' flags=readOnly
TLS: cannot open certdb '/etc/openldap', error -8018:Unknown PKCS #11 error.
TLS: could not get info about the CA certificate directory /etc/openldap/cacerts - error -5950:File not found.
TLS: certificate [CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US] is not valid - error -8172:Peer's certificate issuer has been marked as not trusted by the user..
TLS: error: connect - force handshake failure: errno 2 - moznss error -8172
TLS: can't connect: TLS error -8172:Peer's certificate issuer has been marked as not trusted by the user..
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
D'après ce que cela dit, CentOS ne fait pas confiance à DigiCert? Ou CentOS n'a pas de liste d'émetteurs de confiance?
telnet ldapserver ldaps
ouopenssl s_client -connect ldapserver:636
.