Debian Lenny 上支持 ldaps 的 OpenLDAP

Debian Lenny 上支持 ldaps 的 OpenLDAP

不知何故,我无法配置 slapd 以在 Debian Lenny 上启用 ldaps 支持。看来 OpenLDAP 是用 GnuTLS 而不是 OpenSSL 编译的,这可能是问题的一部分。

我已将以下选项添加到 slapd.conf:

TLS密码套件 TLS_RSA_AES_256_CBC_SHA
TLS 证书文件 /etc/ssl/certs/myhost.pem
TLSCACertificatePath /etc/ssl/certs/
TLSCertificateKey文件 /etc/ssl/private/myhost.pem
TLSVerifyClient 从不

并将以下内容添加到 ldap.conf 中:

URI ldap:/// ldaps:///
TLS_REQCERT 从不

如果我尝试启动 slapd,日志中会出现以下错误:

主要:TLS init def ctx 失败:-64

会不会是 openssl 生成的证书无法被 GnuTLS 读取?

你们中有人在 Debian 上配置了 OpenLDAP 并支持 ldaps 吗?如果是,任何关于如何使其工作的提示都将不胜感激。

谢谢。

编辑:找到了一个有效的 TLSCipherSuite。

答案1

Openssl 和 GnuTLS 之间的密码名称不一样。

GnuTLS 密码示例:

slapd.conf:
TLSCipherSuite TLS_RSA_AES_256_CBC_SHA

获取 GnuTLS 密码名称列表:

$ gnutls-cli -l

并确保“cert”文件可读且归 openldap 用户所有。您还可以将 openldap 用户添加到 ssl-cert 组。

答案2

问题解决了。

服务器密钥只能由 root 和组“ssl-cert”读取。因此,我将用户“openldap”添加到组“ssl-cert”,但不知何故 slapd 无法读取服务器密钥。我现在复制了密钥并将其所有权更改为“openldap”,现在它可以正常工作了。

答案3

这也可能是因为 gnutls 放弃了对 md2 和 md5 算法的支持。请参阅 lenny 上的 gnutls 发行说明。

相关内容