Я разговаривал с другом, который гораздо лучше осведомлен о безопасности, чем я.
Сфера моего вопроса была слишком узкой, и проблема возникла из-за версии PHP, на которой я работаю.
Чтобы PHP безопасно подключался к Active Directory, он использует библиотеку OpenSSL.Поддержка TLS 1.1 / 1.2 в OpenSSL появилась в версии 1.0.1.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);
Но у меня это не сработало.
Я попытался использовать более новые версии OpenSSL с 5.3, но они тоже не сработали.Похоже, что действительно единственное решение - это обновление до более новой версии PHP, минимум 5.6.
Существует возможность использования сторонней библиотеки, но это червь, который я решил не открывать.