![Exim4:无法使用“ldap_require_cert = hard”连接 LDAP 服务器](https://linux22.com/image/707810/Exim4%EF%BC%9A%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%E2%80%9Cldap_require_cert%20%3D%20hard%E2%80%9D%E8%BF%9E%E6%8E%A5%20LDAP%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我正在尝试使用自签名证书配置exim
和之间的安全连接。需要验证 LDAP 服务器提供的 TLS 证书,但客户端身份验证时验证失败:slapd
ldap_require_cert = hard
2017-07-20 15:51:26 login authenticator failed for (client) [10.0.5.2]: 435 Unable to authenticate at present (set_id=user1): lookup of "user=uid=user1,ou=accounts,dc=domain,dc=local pass=123 ldap:///uid=user1,ou=accounts,dc=domain,dc=local?uid?sub?(&(uid=user1)(objectClass=VirtualMailAccount)(accountActive=TRUE))" gave DEFER: failed to initiate TLS processing on an LDAP session to server mail.domain.local:389 - ldap_start_tls_s() returned -1: Can't contact LDAP server
一切正常美好的使用ldap_require_cert = never
,但我需要验证服务器证书。
以下是一段exim的配置文件:
...
ldap_default_servers = mail.domain.local
ldap_start_tls = true
ldap_require_cert = hard
ldap_version = 3
ldap_ca_cert_file = /etc/exim4/ssl/ldap_ca.cert
...
我很确定这不是权限问题(我777
在调查期间已经设置了模式)。
我也成功使用相同的配置对 dovecot 进行了配置,一切运行良好。以下是其中的一部分dovecot-ldap.conf
:
...
tls = yes
tls_ca_cert_file = /etc/dovecot/ssl/ldap_ca.cert
tls_require_cert = hard
那么我做错了什么?
答案1
更改hard
为 即可demand
解决问题。来自man ldap.conf
:demand | hard These keywords are equivalent.