1

Ubuntu ldap аутентификация не работает на моем клиенте с включенной опцией ssl start_tls в файле ldap.conf. Я могу подтвердить подлинность, когда я закомментирую ssl start_tls.

Я обновил сертификат серверов ldap, и с тех пор пользователи больше не могут проходить аутентификацию на моем клиентском компьютере Ubuntu 10.04, если включен ssl. Произошедшие изменения:

Cert upgraded from 1024 to 2048 bit
now is a wildcart cert and use it to be a self-signed cert
encryption algorithm is now shaw512 (use to be md5)

Мой auth.log имеет некоторые ошибки:

nss-ldap: do_open: do_start_tls не удалось: stat = -1

Новые сертификаты работают, потому что у меня есть другие клиенты, которые проходят аутентификацию с использованием новых сертификатов (старые машины CentOS).

У кого-нибудь есть идеи, почему я больше не могу использовать ssl с ldap на моем клиенте?

2 ответа2

1

Существует ли подписывающая иерархия (т.е. не самоподписанная)? "подстановочный знак" и "самоподписанный" не являются исключительными. Коммерческий сертификат подстановочного знака будет иметь иерархию, то есть один или несколько промежуточных CA, и корневой CA.

sha-512 или md5 - это хэши, используемые в подписи сертификата, они не являются алгоритмами шифрования. Они используются для проверки целостности сертификата, шифр, используемый для соединения, согласовывается независимо от этого.

Я думаю, что наиболее вероятные причины: sha512 (точнее, sha512WithRSAEncryption) не поддерживается в Ubuntu 10; или на машине отсутствуют один или несколько сертификатов CA (промежуточный или корневой), поэтому полная проверка цепочки не может быть завершена.

Вы можете увидеть, может ли openssl иметь дело с новым сертификатом сервера, запустив (на машине с Ubuntu 10):

openssl x509 -in newservercert.crt -noout -text

хотя это не может быть окончательным. Это также может быть полезно:

ldapsearch -x -Z -v -h your.ldap.server

(Существует небольшая вероятность, что вместо OpenSSL используется GnuTLS, ничего не поделаешь, извините!)

Вероятно, вы можете подтвердить или отклонить проблему цепочки, добавив это в ваш файл /etc/ldap/ldap.conf:

TLS_REQCERT never

Если это поможет, вы должны получить недостающие части цепочки и добавить их в локальное хранилище. Способ выполнения зависит от конфигурации клиента, проверяя наличие "TLS_CACERT" и / или TLS_CACERTDIR в /etc/ldap/ldap.conf. директивы, где вы начинаете.

Менее вероятные причины включают в себя:

  • неспособность проверить CRL (проверьте ldap.conf, чтобы видеть, включен ли он)

И при условии, что больше ничего не изменилось, для полноты включены невероятные причины:

  • версия протокола сервера или набор шифров, не поддерживаемый клиентом
  • изменение в поддерживаемых механизмах SASL
0

Не уверен, что вы решили этот вопрос. Я столкнулся с такой же ситуацией. 12.04 подключается к ldap серверу по tls, а 10.04 - нет. Мое решение - добавить строку в /etc/ldap/ldap.conf:

TLS_CACERT      /etc/ssl/certs/ca-certificates.crt

и клиент 10.04 может подключиться к серверу ldap с помощью tls.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .