我正在使用 CentOS 5。在 OpenLDAP 服务器上启用 TLS(或 SSL)时遇到问题。我按照此操作教程。我生成了证书,并配置了slapd.conf
以下路径
TLSCertificateFile /path/to/server-certificate.pem
TLSCertificateKeyFile /path/to/private-key.pem
TLSCACertificateFile /path/to/CA-certificates
我使用了命令
slapd -h "ldap:/// ldaps:///"
在端口 636 上启用监听器。
我无法创建连接ldaps://myhost:636
(我尝试与客户端和 liferay ldap 创建连接)
如果我不使用 TLS,就不会有问题。
我是否遗漏了这里的一些配置步骤?
编辑
使用以下命令:
openssl s_client -connect host:port
我得到
答案1
很可能您的 CA 证书有问题。您可以使用以下命令检查服务器的 TLS 连接:
$ ldapwhoami -H ldap:// -x -ZZ
anonymous
检查/etc/ldap/ldap.conf
一下这一行:
TLS_CACERT /etc/ssl/certs/ca_server.pem
修改 LDAP 配置的最佳方法是创建addcerts.ldif
以下内容:
dn: cn=config
changetype: modify
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/ca_server.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ldap_server.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ldap_server.key
并应用变更:
ldapmodify -H ldapi:// -Y EXTERNAL -f addcerts.ldif
最后检查/etc/default/slapd
并确保服务包含ldaps:///
:
SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
之后只需重新加载slapd
服务并使用第一个命令检查与 LDAP 的连接。