簡體   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