Ketika mencoba membuat koneksi ldaps ke server Novel eDirectory 8.8 saya, kadang-kadang saya harus memasukkan TLS_REQCERT never
file ldap.conf ke server klien. Jelas, ini ide yang buruk.
Perintah yang saya jalankan adalah sesuatu seperti ini dengan kredensial yang benar-benar berfungsi ...
ldapsearch -x -H ldaps://ldapserver -b 'ou=active,ou=people,dc=example,dc=org' -D 'cn=admin,dc=example,dc=org' -W "cn=username"
Di Ubuntu 13.10, itu berfungsi dengan baik.
Pada SLES berfungsi dengan baik.
Pada CentOS 6.5 ia mengembalikan:
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Sekarang, sertifikat yang saya impor adalah sertifikat wildcard yang dibeli dari DigiCert. Rekan kerja saya menemukan beberapa laporan yang menunjukkan bahwa beberapa sistem memiliki masalah dengan wildcard.
Jadi, apakah sertifikat wildcard yang harus disalahkan? Jika demikian, bagaimana cara memperbaikinya?
Jika bukan sertifikat wildcard, lalu apa itu?
Mengikuti saran Andrew Schulman, saya menambahkan -d1
perintah ldapsearch saya. Inilah yang akhirnya saya dapatkan:
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)
Dari apa yang dikatakan, CentOS tidak mempercayai DigiCert? Atau CentOS tidak memiliki daftar penerbit tepercaya?
telnet ldapserver ldaps
atauopenssl s_client -connect ldapserver:636
.