При попытке установить соединение ldaps с моим сервером Novel eDirectory 8.8 иногда приходится помещать TLS_REQCERT never
в файл клиентского сервера ldap.conf. Очевидно, это плохая идея.
Команда, которую я запускаю, выглядит примерно так: учетные данные действительно работают ...
ldapsearch -x -H ldaps://ldapserver -b 'ou=active,ou=people,dc=example,dc=org' -D 'cn=admin,dc=example,dc=org' -W "cn=username"
На Ubuntu 13.10 работает нормально.
На SLES работает нормально.
На CentOS 6.5 он возвращает:
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Теперь сертификат, который я импортировал, является сертификатом подстановочного знака, приобретенным у DigiCert. Мой коллега обнаружил некоторые сообщения, указывающие, что в некоторых системах возникают проблемы с подстановочными знаками.
Так виноват ли подстановочный знак? Если так, как я могу это исправить?
Если это не групповой сертификат, то что это?
Следуя совету Эндрю Шульман, я добавил -d1
в команду ldapsearch. Вот что я закончил:
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)
Из того, что это говорит, CentOS не доверяет DigiCert? Или CentOS не имеет списка доверенных эмитентов?
telnet ldapserver ldaps
илиopenssl s_client -connect ldapserver:636
.