Я пытаюсь подключить LDAP через StartTLS, но у меня возникла проблема. Я пошагово следовал этому руководству https://help.ubuntu.com/12.04/serverguide/openldap-server.html#openldap-tls и LDAP работает нормально, как и «ldapsearch -xZZ -h 172.25.80.144» на моем сервере Ubuntu 12.04
Однако в моем клиенте Ubuntu Desktop 11.04 я получаю эту ошибку:
ldapsearch -x -H 172.25.80.144 -ZZ
ldap_start_tls: Connect error (-11)
additional info: **TLS: hostname does not match CN in peer certificate**
Сервер /etc/ldap/ldap.conf
BASE dc=prueba,dc=borja
URI ldap://prueba.borja
SIZELIMIT 12
TIMELIMIT 15
DEREF never
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
Клиент /etc/ldap.conf
ssl start_tls
tls_checkpeer no
/etc/ldap/ldap.conf
BASE dc=prueba,dc=borja
URI ldap://prueba.borja
SIZELIMIT 12
TIMELIMIT 15
DEREF never
TLS_REQCERT allow
Кто-нибудь может сказать мне, как это исправить? Я думаю, что имя хоста нормально.
Спасибо!
Пытаться
TLS_REQCERT never
в /etc/ldap/ldap.conf. Это предотвратит проверку сертификата. Обратите внимание, что это делает соединение еще менее безопасным.
/etc/ldap.conf не должен влиять на ldapsearch (1)
Также попробуйте отбросить второй -Z в командной строке. Это может быть причиной сбоя, даже если у вас есть разрешение TLS_REQCERT.
Я заметил несколько вещей, просматривая этот пост.
Во-первых, вы запускаете свой LDAP-сервер через стандартный LDAP, а не LDAPS. т.е. ldaps: //prueba.borja
Во-вторых, в зависимости от вашей конфигурации, похоже, не настроен сертификат для обслуживания сервера LDAP. Все идентифицировано, это CA, который используется для доверительных отношений, когда сервер действует как клиент при разрешении цепочки CA и / или отправляет цепочку, когда клиент ее запрашивает.
Наконец, ошибка исходит от клиента, указывающего, что обслуживаемый сертификат TLS имеет общее имя (CN) и / или альтернативное имя субъекта (SAN), которые не были запрошены клиентом. Это требует, чтобы клиент, подключенный к серверу LDAP, сделал что-то вроде этого
ldapsearch -x -H prueba.borja -ZZ
Для этого требуется, чтобы у сертификата было общее имя (CN) prueba.borja или альтернативное имя субъекта (SAN) prueba.borja.
Кроме того, как напоминание, сертификат, который обслуживает сервер LDAP, должен быть подписан корневым центром сертификации (ЦС) и промежуточными звеньями, которые у вас могут быть. В противном случае вы получите дополнительные ошибки. Если вы используете центр сертификации, созданный компанией, ваш администратор должен иметь возможность его создать. Если вы используете центр сертификации общественного достояния, обратитесь к поставщику для создания сертификата. В любом случае убедитесь, что вы сообщили им о корректировках общего имени и / или альтернативного имени субъекта для указанного вами имени.
Как только вы все настроите правильно, правильное рукопожатие TLS будет успешно выполнено.