繁体   English   中英

在PHP 5.3中为ldap_ *功能启用TLS 1.2

[英]Enable TLS 1.2 for ldap_* functions in PHP 5.3

我们的代码库通过ldap_*函数连接到我们的Active Directory。 我今天早上才知道他们正在通过TLS 1.0连接到我们的广告。

问题1 :是否有一种方法可以强制ldap_*函数通过TLS 1.2连接?

其他资讯:

  • Windows 2012 R2
  • PHP 5.3
  • IIS 8.5

我已经尝试使用诸如“ enable” tls 1.2“ ldap php ”,“ ” tls 1.2“ ldap php ,”“ ldap php函数支持tls 1.2 ”之类的搜索工具,结果一直无济于事。 我发现在三个地点是说,评论的Windows 2012 R2不通过LDAPS支持TLS 1.2禁用 TLS 1.2,但...这就是我想要的正好相反,至今没有出现过问题,有没有专门在代码库中禁用TLS 1.2。

后续问题ldap_*函数在使用PHP的Windows 2012 R2上是否仍不支持TLS 1.2?

我与一个比我更了解安全性的朋友聊天。

我的问题范围太狭窄,问题出在我使用的PHP版本上。

为了使PHP安全地连接到Active Directory,它使用OpenSSL库。 v1.0.1中提供了OpenSSL中的TLS 1.1 / 1.2支持。 PHP 5.3随附v0.9.8。

我的朋友给了我一个伪造TLS 1.1并强迫ldap函数使用的建议,像这样:

define('LDAP_OPT_X_TLS_PROTOCOL_MIN', 24583);
define('LDAP_OPT_X_TLS_PROTOCOL_SSL2', 512);
define('LDAP_OPT_X_TLS_PROTOCOL_SSL3', 768);
define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_0', 769);
define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_1', 770);
define('LDAP_OPT_X_TLS_PROTOCOL_TLS1_2', 771);

ldap_set_option($handler, LDAP_OPT_X_TLS_PROTOCOL_MIN, LDAP_OPT_X_TLS_PROTOCOL_TLS1_1);

但这对我没有用。

我尝试使用5.3的较新版本的OpenSSL,但这些也不起作用。 看来,真正唯一的解决方案是更新到PHP的最低版本5.6。

有可能使用第三方库,但这是我选择不打开的蠕虫病毒罐。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM