这个问题以前在 StackOverflow 上,因为我认为这是一个编程问题。正确设置 Active Directory 似乎更像是一个问题,所以我把它移到了这里。
好的,我已经有一段时间了,但还没有找到我的解决方案。我经常使用我所在的服务器连接到 OpenLDAP,使用 SSL 和 LDAP 一切正常。但是,现在我需要切换到 Active Directory,并且遇到了问题。
为了设置系统,我执行了以下操作:1) 从 Server 2012 导出我的证书:http : //pic.dhe.ibm.com/infocenter/rdirserv/v5r1m0/index.jsp?topic=%2Fcom.ibm.rational .rds.administering.doc%2Ftopics%2Ft_Exporting_certificate_Active_Directory_server.html
2) 将我的证书从 DER 转换为 PEM:http : //www.novell.com/coolsolutions/tip/5838.html
3) 确保 TLS_REQCERT 设置为“从不”
4) 验证我的 ldap.conf 文件是否指向我的证书的正确位置。
繁荣!我能够通过 ldap_connect() 连接并且能够与我的用户绑定。然而,当我去修改密码时,我收到了“服务器不愿意执行”的非常有用的错误消息。
有些人认为这是 SSL 的问题。所以,我用命令做了一些测试:
*ldapsearch -H "ldaps://my.domain.tld" -b "" -s base -Omaxssf=0 -d7*
Run Code Online (Sandbox Code Playgroud)
我收到的结果是:
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP my.domain.tld:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying ip.add.re.ss:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
TLS: loaded …
Run Code Online (Sandbox Code Playgroud)