Ubuntu OpenLDAP:TLS init def ctx 失败:-1

Ubuntu OpenLDAP:TLS init def ctx 失败:-1

我有一个可以正常工作的 OpenLDAP,但是在尝试按照此处的说明配置 SSL 时它被破坏了:https://help.ubuntu.com/10.04/serverguide/C/openldap-server.html。现在,当我尝试使用 -d -1 启动 ldap 时出现以下错误:

TLS:仅指定 certfile 和 keyfile 之一

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

作为一个新手,我认为我完全有可能搞砸了某些事情(我担心我按照上面的说明错误地执行了 ldapmodify 步骤),但我不知道如何撤消我所做的操作。我无法启动 ldapmodify,因为服务器已关闭。所以我有两个问题:

  1. 什么原因可能导致这个错误?
  2. 我怎样才能恢复到以前可以运行(但没有 SSL)的 OpenLDAP 版本?

注意:我不是 *nix 管理员,只是想获取 OpenLDAP 的 SSL 版本来测试我的应用程序。所以请慢慢说,用大词!

答案1

我现在无法访问我的 openldap 服务器,但我很确定您可以在新的 slapd.d/ 目录中直接更改它,尽管我们不推荐这样做。

看看运行时会得到什么(假设这是包含你的 slapd 配置的目录):

grep -R olcTLS /etc/openldap/slapd.d

答案2

根据多于指示:

如果遇到服务器无法启动的问题,请检查 /var/log/syslog。如果看到类似 的错误main: TLS init def ctx failed: -1,则可能是配置问题。检查证书是否由配置的文件中颁发机构签名,以及 ssl-cert 组是否对私钥具有读取权限。

答案3

我自己遇到了同样的错误,使用了@fluffywhite 的答案,grep -R /etc/openldap/slapd.d发现 ldap 服务器正在使用不同的 CA 文件,并且该文件中的 CA 已过期。

olcTLSCACertificateFile有 slapd 正在使用的 CA 文件的路径。

将 CA 文件替换为正确的 cacert.pem,slapd 成功启动。

相关内容