Rad*_*dek 14 ldap sles certificates tls
我们需要使用证书通过 tls 将我们的 php 脚本连接到 LDAP。LDAP 连接在没有 tls 的情况下运行良好。更多细节在这里/sf/ask/1068217671/
我们设法使用 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
Run Code Online (Sandbox Code Playgroud)
我们得到
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)
Run Code Online (Sandbox Code Playgroud)
我在这里找到了很多很好的信息http://www.php.net/manual/de/function.ldap-connect.php#36156尤其是这句话在我看来很重要Once you've gotten the ldapsearch tool working correctly PHP should work also.
ken*_*orb 32
这意味着服务器上的证书已过期或无效。
至于解决方法,使用LDAPTLS_REQCERT变量忽略证书,例如:
LDAPTLS_REQCERT=never ldapsearch -D "cn=drupal-test,ou=Services,dc=example,dc=com" -w my_pass -h ldap.example.com -b "ou=People,dc=example,dc=com" -s sub -x -ZZ "(uid=admin)"
Run Code Online (Sandbox Code Playgroud)
否则,您可以导入证书并将其标记为受信任。
tin*_*ink 12
我不确定从 pem 到 cer 的转换,但是要使 ldapsearch 使用证书,而没有 ldap.conf 或没有修改全局证书的权限,您应该能够这样做:
env LDAPTLS_CACERT=/path/to/cert ldapsearch
Run Code Online (Sandbox Code Playgroud)
小智 5
使用
LDAPTLS_REQCERT=never
Run Code Online (Sandbox Code Playgroud)
删除 LDAP 服务器的证书验证。这首先使 TLS 提供的安全性失效。不要这样做。如果存在问题,您应该修复证书,然后向 LDAP 客户端提供证书颁发机构,如 Tink 中所述。
| 归档时间: |
|
| 查看次数: |
49921 次 |
| 最近记录: |