Intereting Posts
Как PHPUnit проверить метод без возвращаемого значения? функции автозагрузки в php file_exists () не работает codeigniter Какое действие я могу использовать в WordPress, который запускается всякий раз, когда пользовательская почта сохраняется или обновляется? Доступ к некоторым свойствам объекта SimpleXMLElement Синтаксис массива в строке: Неинициализированная ошибка смещения строки PHP ActiveRecord: как добавить несколько условий? Локатор сервисов, Инъекция зависимостей (и контейнера) и инверсия управления Не понимаю результат в XML-объектах и ​​PHP SimpleXMLElement Сообщение WordPress XML-RPC для определенной категории Как отправить электронную почту в записках лотоса с помощью PHP Клиент Java Webservice UsernameToken эквивалентен PHP Windows CMD.exe «Система не может найти указанный путь». Regex PHP – заменить цвета в имени – но только если они в цвете, а не в названиях компаний Codeigniter не может загружать изображение

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

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

благодаря

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

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

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

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