在 slapd 上使用 SSL

在 slapd 上使用 SSL

我正在设置 slapd 以在 Fedora 14 上使用 SSL。我的 /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

但是,当我连接到本地主机时,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)

我哪里做错了?

答案1

检查你的服务器日志,但我相信你的问题在于olcTLSVerifyClient: demand——这是要求你的客户在握手期间向服务器出示证书来验证自己的身份,除非您有证书(服务器认为可以接受),否则您将不被允许连接。

您可能还想阅读本网站(或者这个) 中包含有关 OpenLDAP 和 TLS(SSL)的详细信息——您的配置与我熟悉的示例略有不同。

答案2

假设您希望客户端使用证书来识别自己,您需要告诉客户端使用什么证书。man ldap.conf 提供 TLS_CERT 和 TLS_KEY

相关内容