ssl PHP LDAP自签名根证书错误

t2a7ltrp  于 7个月前  发布在  PHP
关注(0)|答案(1)|浏览(90)

顶级域名:

PHP ldap_bind抱怨CA的根证书是自签名的。

长版本:

大家好啊。
我一直在寻找这个问题的答案一段时间,但似乎找不到一个方法来解决它是有益的生产。下面是详细信息:
我正在运行一个XAMPP发行版,在我的Windows 11计算机上安装了PHP 8.2.4。它被配置为使用OpenSSL和OpenLDAP。我的目标是编写一个Web应用程序,它可以根据大学的Active Directory(使用LDAP)对用户进行身份验证。我编写了一个迷你脚本,它可以检查TLS连接,然后使用bindDN和凭据绑定到LDAP服务器。
就像基本上每个人一样,我也会遇到自签名证书错误。因此,我尝试了不同的解决方案,结果通过将LDAP协议版本设置为3和不检查自签名证书来工作。我还了解到,这会给您带来安全漏洞。因此,我希望避免使用此解决方案。
因此,我更深入地检查了一下,以找出哪个证书实际上是自签名的。结果发现OpenSSL抱怨的是'DigiCert'(Global Root G2)的根证书。
有没有解决这个问题的方法?我对Web证书非常陌生,因此希望得到一个不纯技术性的答案。这是我第一次接触这个领域。

vql8enpb

vql8enpb1#

修复是相当容易的。因为我是在Windows机器上工作,我必须添加以下文件夹结构

C:\OpenLdap\sysconf

字符串
在那里,我粘贴了LDAP服务器签名所使用的CA根证书。

#--begin--

# Define location of CA Cert
TLS_CACERT c:\OpenLDAP\sysconf\[CA_ROOT_CERT]
TLS_CACERTDIR c:\OpenLDAP\sysconf\
TLS_REQCERT hard

#--end--


您必须将[CA_ROOT_CERT]替换为CA的根证书名称。我不需要编辑任何环境变量。

相关问题