Подтвердить что ты не робот

Нужна помощь, игнорируя сертификат сервера при привязке к LDAP-серверу с помощью PHP

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

Спасибо

4b9b3361

Ответ 1

Вы не указываете среду, поэтому здесь ответ (найденный в другом месте на этом сайте: Как решить 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 и сертификат для этого. Но так как это также делает так, что другие инструменты/приложения во всей ОС на машине веб-сервера также не будут проверять это, пожалуйста, убедитесь, что ваша среда позволяет это изменение (среды с высокой степенью защиты могут не позволить это).

Ответ 2

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

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

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