Нам нужно подключить наш php-скрипт к LDAP через tls с помощью сертификата. Соединение LDAP работает хорошо без TLS. Подробнее здесь /programming/15260252/how-to-use-multiple-tls-certificates-for-ldap-from-php-zend
Нам удалось подключиться через tls из Windows, используя Softerra LDAP Browser. Он попросил нас установить сертификат и доверяем ли мы ему.
Мой конечный результат - возможность аутентификации с помощью LDAP с использованием TLS из php. Мне дали сертификат типа .cer. Это происходит с компьютера с Windows Exchange. Из того, что я вижу, SLES поддерживает сертификаты .pem. Итак, мой вопрос ...
Q1: Нужно ли мне сначала конвертировать из .cer в .pem, прежде чем я смогу установить сертификат на клиенте (который является сервером SLES), и, наконец, Q2: каков наилучший способ установить этот сертификат на сервере, чтобы мое php-приложение могло доступ к нему и делать свою работу . Обратите внимание, что на сервере SLES нам нужно подключаться к различным серверам LDAP.
В настоящее время, если мы бежим
ldapsearch -H ldaps://localhost:9215 -W
мы получаем
Enter LDAP Password:
ldap_sasl_interactive_bind_s: Can't contact LDAP server (-1)
additional info: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (unable to get local issuer certificate)
Я нашел много полезной информации здесь http://www.php.net/manual/de/function.ldap-connect.php#36156, и особенно это предложение важно в моих глазахOnce you've gotten the ldapsearch tool working correctly PHP should work also.
- SUSE Linux Enterprise Server 11 (x86_64)
- ldapsearch: @ (#) $ OpenLDAP: ldapsearch 2.4.26 (26 сентября 2012 13:14:42) $ abuild @ baur: /usr/src/packages/BUILD/openldap-2.4.26/clients/tools (библиотека LDAP: OpenLDAP 20426)
источник
Ответы:
Это означает, что срок действия сертификата на сервере истек или он недействителен.
Что касается обходного пути, используйте
LDAPTLS_REQCERT
переменную для игнорирования сертификата, например:В противном случае вы можете импортировать сертификат и пометить его как доверенный.
источник
ldap.conf
файла для установкиTLS_REQCERT
параметра.Я не уверен насчет преобразования pem в cer, но чтобы ldapsearch использовал сертификаты без ldap.conf или без разрешений для изменения глобальных сертификатов, вы должны сделать это:
источник
С помощью
удаляет проверку сертификата сервера LDAP. Это аннулирует безопасность, обеспечиваемую TLS в первую очередь. Не делай этого. Вы должны исправить сертификаты, если есть проблема, и затем предоставить клиенту LDAP центр сертификации, как описано tink.
источник