Нужна помощь в игнорировании сертификата сервера при привязке к серверу LDAP с использованием PHP - PullRequest
15 голосов
/ 05 октября 2010

Я пытаюсь привязаться к серверу LDAP с помощью PHP.Это довольно простой процесс, за исключением того, что я не могу обойти полученную ошибку сертификата.Мои учетные данные в порядке, так как я могу подключиться к серверу с помощью Apache Directory Studio.Есть ли способ просто автоматически принять сертификат сервера?Похоже на то, как вы нажимаете «Принять этот сертификат ..» в студии каталогов Apache?Я знаю, что это не очень хорошая защита, но мне просто нужно, чтобы он работал на этом этапе и мог бы решить проблему с сертификатом позже.

Спасибо

Ответы [ 2 ]

30 голосов
/ 28 сентября 2011

Вы не указываете среду, поэтому вот ответ (найденный в другом месте на этом сайте: Как мне решить ldap_start_tls () "Невозможно запустить TLS: Ошибка подключения" в PHP? ):

Linux: на клиентском компьютере (веб-сервер PHP) измените файл ldap.conf, который используется системой, в RH / Fedora вам нужен файл /etc/openldap/ldap.conf ( не /etc/ldap.conf, то есть для проверка подлинности системы ... ). Добавьте / измените следующую строку:

TLS_REQCERT never

Windows: добавьте системную переменную среды, например:

LDAPTLS_REQCERT=never

Или в вашем PHP-коде перед ldap_connect введите следующее:

putenv('LDAPTLS_REQCERT=never');

Это гарантирует, что экземпляр PHP клиентского веб-сервера никогда не проверяет FQDN сервера на CN (общее имя) сертификата. Очень полезно в кластерных средах, где используется виртуальный IP и сертификат для этого. Но поскольку это также делает так, что другие инструменты / приложения во всей ОС на компьютере веб-сервера также не будут проверять это, пожалуйста, убедитесь, что ваша среда допускает это изменение (среды с высоким уровнем безопасности могут этого не допустить).

0 голосов
/ 07 октября 2010

Используйте веб-браузер, укажите ldaps: // ipaddress /

когда появится всплывающее окно сертификата, просмотрите сертификат, посмотрите цепочку сертификатов, найдите доверенный корень (не конкретный сертификат)используется, а не родитель, который подписал его), а затем экспортировать этот сертификат.Сохранить в формате PEM и B64.(В двоичном и B64-кодированном виде). ​​

Затем используйте его, чтобы перевести его в формат хранилища ключей PHP, в зависимости от того, что есть.Склады ключей Java просты.Не уверен, что использует PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...