好的,我一直在尝试在 Debian Jessie 服务器上使用 LDAP 配置 TLS,但到目前为止还没有成功。当我运行 ldapmodify 命令时,我总是遇到可怕的错误 80。
这是我的 ldif 文件的内容:
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /ssl/ldap/cacert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /ssl/ldap/server-key.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /ssl/ldap/server-cert.pem
当然,当我运行这个程序时,输出如下:
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "cn=config"
ldap_modify: Other (e.g., implementation specific) error (80)
现在,我已经在网上阅读了几十篇帖子,每次都似乎是一个权限问题。但是,就我而言,当我将以下内容放入文件中时,它就可以正常工作:
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /ssl/ldap/cacert.pem
因此,鉴于这三个文件都位于同一个文件夹中,并且具有相同的权限集,我怀疑问题出在这里。有人能帮我解决问题吗?
谢谢。
答案1
好的,就我而言,问题在于 server-cert.pem 和 server-key.pem 实际上格式不正确。
最初,私钥和证书都在一个 pem 文件中,因此我不得不将它们拆分成两个以适应 LDAP。但是,我没有实际使用 openssl 工具来拆分文件,而是打开了一个文本编辑器并将内容复制粘贴到两个单独的文件中。对于将来阅读此文的任何人来说:这是一个坏主意。如果您碰巧有一个包含证书和私钥的单个文件,请使用以下两个命令提取这两个部分。这将为您省去很多麻烦。
openssl x509 -outform pem -in server.pem -out cert.pem
openssl pkey -outform pem -in server.pem -out key.pem