我正在将 LDAP 身份验证与部署在 Linux 平台上的 PHP 项目集成。我成功地从命令行和 php 代码完成了非 SSL 连接的 ldapsearch。
当涉及到 SSL 连接时,我无法使其工作。我在想,如果我可以从命令行使 ldapsearch 工作,处理 php 端就不会有问题了。我使用的是 CentOS,下面是我的搜索结果查询模式 - 它适用于端口 3268 上的非 SSL 请求,但对于端口 3269 失败,并出现两个错误ldap_start_tls: Can't contact LDAP server (-1)
和ldap_bind: Can't contact LDAP server (-1)
。我搜索过这个查询,它将我带到讨论 Kerboros 身份验证的页面,而我不想要它。任何帮助都将不胜感激。
SSL
[Test]$ ldapsearch -x -h ldap.internal.company.com -D "CN=personName,OU=EUS,
DC=company,DC=com" -p 3269 -b "dc=company,dc=com"
samaccountname=personName -Z "/etc/openldap/cacerts/test.cer"
-w "<<MyPassword>>"
ldap_start_tls: Can't contact LDAP server (-1)
ldap_bind: Can't contact LDAP server (-1)
非 SSL
[Test]$ ldapsearch -x -h ldap.internal.company.com -D "CN=personName,
OU=EUS, DC=company,DC=com" -p 3268 -b "dc=company,dc=com"
samaccountname=personName -Z "/etc/openldap/cacerts/test.cer" -w
.....
...
//Gives valid output
答案1
您可以尝试以下几件事:
在 ldap.conf 中添加以下内容:
TLS_REQCERT never
在您的 ldapsearch 字符串中:
-H ldaps://ldap.internal.company.com:3269
代替:
-h ldap.internal.company.com -p 3269