我们需要使用证书将php脚本通过tls连接到LDAP。无需tls,LDAP连接就可以很好地工作。此处有更多详细信息/programming/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend
我们设法使用Softerra LDAP浏览器通过Windows的tls连接。它要求我们安装证书以及我们是否信任它。
我的最终结果是能够使用php中的TLS与LDAP进行身份验证。我已获得.cer类型的证书。它来自Windows Exchange计算机。从我可以看到,SLES支持.pem证书。所以我的问题是...
Q1:我需要先从.cer转换为.pem,然后才能在客户端(SLES服务器)上安装证书,最后Q2:在服务器上安装此证书的最佳方法是什么,以便我的php应用程序可以访问并完成其工作。请注意,在SLES服务器上,我们需要连接到不同的LDAP服务器。
目前如果我们运行
ldapsearch -H ldaps://localhost:9215 -W
我们得到
Enter LDAP Password:
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)
我在这里http://www.php.net/manual/de/function.ldap-connect.php#36156找到了很多很好的信息,尤其是这句话在我眼中很重要Once you've gotten the ldapsearch tool working correctly PHP should work also.
- SUSE Linux Enterprise Server 11(x86_64)
- ldapsearch:@(#)$ OpenLDAP:ldapsearch 2.4.26(2012年9月26日13:14:42)$ abuild @ baur:/usr/src/packages/BUILD/openldap-2.4.26/clients/tools(LDAP库: OpenLDAP 20426)