Я настраиваю slapd для использования SSL в Fedora 14. У меня в /etc/openldap/slapd.d/cn=config.ldif есть следующее:
olcTLSCACertificateFile: /etc/pki/tls/certs/SSL_CA_Bundle.pem
olcTLSCertificateFile: /etc/pki/tls/certs/mydomain.crt
olcTLSCertificateKeyFile: /etc/pki/tls/private/mydomain.key
olcTLSCipherSuite: HIGH:MEDIUM:-SSLv2
olcTLSVerifyClient: demand
и следующее в моем / etc / sysconfig / ldap:
SLAPD_LDAP=no
SLAPD_LDAPS=yes
В моем файле ldap.conf у меня есть
BASE dc=mydomain,dc=com
URI ldaps://localhost
TLS_CACERTDIR /etc/pki/tls/certs
TLS_REQCERT allow
Однако, когда я подключаюсь к localhost, ldapsearch возвращает следующее:
ldap_initialize( <DEFAULT> )
ldap_create
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 localhost:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying 127.0.0.1:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
TLS: loaded CA certificate file /etc/pki/tls/certs/978601d0.0 from CA certificate directory /etc/pki/tls/certs.
TLS: loaded CA certificate file /etc/pki/tls/certs/b69d4130.0 from CA certificate directory /etc/pki/tls/certs.
TLS certificate verification: defer
TLS: error: connect - force handshake failure: errno 0 - moznss error -12271
TLS: can't connect: .
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Что у меня неверно?
Учитывая, что вы хотите, чтобы клиенты использовали сертификат для идентификации, вам нужно будет сообщить клиенту, какой сертификат использовать. man ldap.conf дает TLS_CERT и TLS_KEY
Проверьте журналы сервера, но я считаю, что ваша проблема заключается в olcTLSVerifyClient: demand
-- Это требующий что твой клиент предоставить сертификат серверу для аутентификации во время рукопожатия, и если у вас нет сертификата (который считается приемлемым для сервера), вам не будет разрешено подключиться.
Вы также можете просмотреть этот сайт (или вот этот), в котором есть подробности об OpenLDAP и TLS (SSL) - ваша конфигурация немного отличается от примеров, с которыми я знаком.