我想按照这个指南在Ubuntu 12.04上设置openldap https://help.ubuntu.com/12.04/serverguide/openldap-server.html
当我试图通过创build一个自签名证书在上面的指南中描述的服务器上启用TLS时,我得到了以下错误
我跑的命令
ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/ssl/certinfo.ldif
ldif文件的内容
dn: cn=config add: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ssl/certs/cacert.pem - add: olcTLSCertificateFile olcTLSCertificateFile: /etc/ssl/certs/ldap01_slapd_cert.pem - add: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/ssl/private/ldap01_slapd_key.pem
错误信息
ldap_modify: Inappropriate matching (18) additional info: modify/add: olcTLSCertificateFile: no equality matching rule
经过几个小时的谷歌search,我还没有发现任何说明这个错误的东西。 有没有人有关于此的更多信息?
这些是SINGLE-VALUE 。 使用replace而不是add 。
另请注意,属性的更改可能需要重启slapd 。 (并不是所有的运行时都可以根据需要进行configuration。)
你的模式可能是:
attributeTypes: ( 1.3.6.1.4.1.4203.1.12.2.3.0.70 NAME 'olcTLSCertificateFile' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE ) attributeTypes: ( 1.3.6.1.4.1.4203.1.12.2.3.0.71 NAME 'olcTLSCertificateKeyFile' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )
稍加说明: ldapmodify add会导致slapd ,以确保不会通过执行平等匹配两次放入属性valie对。 从我可以告诉它应该使用2.5.13.6 NAME 'caseExactOrderingMatch' ,但我不知道我曾经尝试add这些属性。 这种行为可能是完全正常的。
在OpenLDAP服务器上启用TLS的方式是在/etc/openldap/slapd.conf文件中指定某些指令,例如:
TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt TLSCertificateFile /etc/pki/tls/certs/servercertificate.cer TLSCertificateKeyFile /etc/pki/tls/certs/privatekey.key
此示例适用于商业签名证书,但也适用于自签名证书。 这确实需要重新启动OpenLDAP,但我不知道如何让OpenLDAP重新读取configuration文件而不重新启动它。