打开 LDAP(slapd)无法将 olcTLSCertificateFile 和 olcTLSCertificateKeyFile 添加到 cn=config

打开 LDAP(slapd)无法将 olcTLSCertificateFile 和 olcTLSCertificateKeyFile 添加到 cn=config

我正在尝试向我的 OpenLDAP 实例添加 TLS 支持,并且根据无数文章,我应该添加以下内容(ldif):

dn: cn=config
add: oclTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/ssl/slapd.pem
-
dn: cn=config
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/ssl/slapd.pem
-
dn: cn=config
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile /etc/ldap/ssl/privkey.pem

我可以添加olcTLSCACertificate文件很好。但不是olcTLS证书文件或者olcTLSCertificateKey文件对于这个问题。

ldapmodify 只会给出一个实现特定错误 (80),这毫无用处。但 ldapadd/slapadd 会给出一个未知属性错误。

所以我检查了架构

# ldapsearch -b cn=schema,cn=config

并且确信所有 olcTLS* 属性都在那里。

那么我在这里做错了什么?

答案1

我用以下 ldif 解决了这个问题

dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ldap/ssl/cacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/ssl/slapd_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/ssl/slapd_key.pem

请注意,我只有一个域名:在第一个条目中,我将其从后续属性中删除。事实上,我不得不使用代替:olcTLSCACertificate文件因为它已经存在了。

答案2

实现特定错误 (80) 似乎有许多可能的原因,例如权限、所有权和相应生成的证书文件。但当我放弃时,添加属性的顺序真的让我很开心。最终对我有用的一个:

root@ldap:~# cat add7.ldif
dn: cn=config
changetype: modify
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/certs/privkey1.pem

root@ldap:~# cat add8.ldif
dn: cn=config
changetype: modify
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/certs/cert1.pem

root@ldap:~# cat add6.ldif
dn: cn=config
changetype: modify
replace: olcTLSCRLCheck
olcTLSCRLCheck: none

root@ldap:~# cat add5.ldap
dn: cn=config
changetype: modify
add: olcTLSCipherSuite
olcTLSCipherSuite: NORMAL
-
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/certs/fullchain1.pem

root@ldap:~# cat add2.ldap
dn: cn=config
changetype: modify
add: olcTLSProtocolMin
olcTLSProtocolMin: 3.3

root@ldap:~# cat add1.ldap
dn: cn=config
changetype: modify
replace: olcTLSVerifyClient
olcTLSVerifyClient: never

阅读内容:

ldapmodify -Y EXTERNAL -H ldapi:/// -f add1.ldap

去检查:

ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config | grep olcTLS

相关内容