无法为OpenLDAPconfigurationTLS选项

我正在努力为新的OpenLDAP服务器设置TLS。 系统是Debian Jessie(已更新到最新的8.7版本),并且通过安装slapd软件包来设置服务器,到目前为止几乎没有修改。

我试图configuration的一件事是TLS密码套件。 这是LDIF:

 dn: cn=config changetype: modify add: olcTLSCipherSuite olcTLSCipherSuite: HIGH 

当我尝试使用以下命令提交此更改时:

 ldapmodify -Y EXTERNAL -H ldapi:/// -f set-cipher-suite.ldif 

我得到这个错误:

 ldap_modify: Server is unwilling to perform (53) 

我也尝试使用以下LDIF设置证书文件:

 dn: cn=config changetype: modify add: olcTLSCertificateFile olcTLSCertificateFile: /etc/ssl/certs/foo.crt 

在这里,我得到一个错误80,而不是一个错误53。

 ldap_modify: Other (eg, implementation specific) error (80) 

我仔细检查文件是否存在,并且slapd有权访问该文件。

我将olcLogLevel更改为any (因此certificate我能够修改configuration)并检查debugging输出,但是我所看到的对于未经训练的眼睛没有任何信息价值。 这里是错误53发生的片段:

 [...]
 6月8日16:46:21 pelargir slapd [36937]:slap_queue_csn:排队0x7f3648f4a430 20160608144621.742848Z#000000#000#000000
 Jun 8 16:46:21 pelargir slapd [36937]:oc_check_required entry(cn = config),objectClass“olcGlobal”
 Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowedtypes“objectClass”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowedinput“cn”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowedtypes“olcArgsFile”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcLogLevel”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcPasswordHash”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcPidFile”
 Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcToolThreads”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowedtypes“structuralObjectClass”
 Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowed type“entryUUID”
 Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowed type“creatorsName”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“createTimestamp”
 Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowed键入“olcTLSCipherSuite”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowedtypes“entryCSN”
 Jun 8 16:46:21 pelargir slapd [36937]:oc_check_allowed type“modifiersName”
 6月8日16:46:21 pelargir slapd [36937]:oc_check_allowed键入“modifyTimestamp”
 Jun 8 16:46:21 pelargir slapd [36937]:send_ldap_result:conn = 1002 op = 1 p = 3
 6月8日16:46:21 pelargir slapd [36937]:send_ldap_result:err = 53 matched =“”text =“”
 6月8日16:46:21 pelargir slapd [36937]:send_ldap_response:msgid = 2 tag = 103 err = 53
 6月8日16:46:21 pelargir slapd [36937]:conn = 1002 op = 1 RESULT tag = 103 err = 53 text =
 [...]

任何人都可以给我一个提示,我可能在这里做错了吗? 我觉得非常困惑的是,我可以成功修改诸如olcLogLevelolcPasswordHash类的简单选项,但是当我尝试对类似简单的TLS选项(如olcTLSCipherSuite执行相同的操作时失败。

我遇到了同样的问题,debian中的openldap是针对gnu-tls包进行编译的,并且默认情况下不会安装。

这可能有助于:

 apt install gnutls-bin 

还要确保openldap用户有足够的权限来读取证书。 例如:

 useradd letsencrypt chown openldap:letsencrypt /etc/letsencrypt/ -R usermod -a -G letsencrypt openldap