在Debian Lenny上支持ldaps的OpenLDAP

不知何故,我无法configurationslapd来启用对Debian Lenny的ldaps支持。 看起来OpenLDAP是用GnuTLS而不是OpenSSL编译的,这可能是问题的一部分。

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

 TLSCipherSuite TLS_RSA_AES_256_CBC_SHA
 TLSCertificateFile /etc/ssl/certs/myhost.pem
 TLSCACertificatePath / etc / ssl / certs / 
 TLSCertificateKeyFile /etc/ssl/private/myhost.pem
 TLSVerifyClient永远不会

和以下到ldap.conf:

 URI ldap:/// ldaps:///
 TLS_REQCERT永远不会

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

 主要:TLS初始化def ctx失败:-64 

难道这个由openssl生成的证书不能被GnuTLS读取吗?

有没有人在Debian上用ldaps支持configurationOpenLDAP? 如果是的话,任何提示如何使其工作将非常感激。

谢谢。

编辑 :find一个工作的TLSCipherSuite。

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

示例GnuTLS密码:

slapd.conf: TLSCipherSuite TLS_RSA_AES_256_CBC_SHA 

获取GnuTLS密码名称的列表:

 $ gnutls-cli -l 

并确保“cert”文件是可读的,并由openldap用户拥有。 您也可以将openldap用户添加到ssl-cert组。

问题解决了。

服务器密钥只能由root和组“ssl-cert”读取。 因此,我将用户'openldap'添加到组'ssl-cert',但不pipe怎样,slapd无法读取服务器密钥。 我现在复制密钥,并将其所有权更改为“openldap”,现在可以使用。

这也可能是由于gnutls放弃了对md2和md5algorithm的支持。 请参阅lenny上的gnutls发行说明。