У меня есть сервер Debian 6.0.5, на котором запущен openldap. Похоже, составлен против gnutls. Я использовал certtool gnutls для создания самозаверяющего сертификата, и я использовал его на нескольких клиентских машинах debian для аутентификации на сервере openldap.
Однако, когда я пытаюсь сделать то же самое на клиенте CentOS 6, я получаю следующую ошибку для ldapsearch:
ldap_initialize( <DEFAULT> )
ldap_start_tls: Can't contact LDAP server (-1)
additional info: TLS error -8101:Certificate type not approved for application.
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)
Если я запускаю gnutls-cli-debug на клиенте CentOS, я получаю следующее:
gnutls-cli-debug -p 636 ldap.blahblah.com
Resolving 'ldap.blahblah.com'...
Connecting to '10.6.0.11:636'...
Error in %INITIAL_SAFE_RENEGOTIATION
Checking for Safe renegotiation support...
И все - умирает.
Кто-нибудь мог сделать ldaps в такой настройке, связанный сервер gnutls, сгенерированный сертификат gnutls, связанный клиент openssl?
Спасибо!
Я думаю, вы можете атаковать это одним из двух способов: ldapsearch
клиент для работы с вашими существующими сертификатами или создания новых сертификатов, которые ему нравятся. Лично я считаю, что изменить сертификат сервера проще, чем изменить ldapsearch
код, вот на что я посмотрел.
Вышеупомянутая ошибка предполагает, что в вашем сертификате на стороне сервера чего-то не хватает (т. Е. Клиент не хочет разговаривать с вашим сервером, потому что он не идентифицируется должным образом).
Для начала я проверил сертификат, используемый случайным сервером LDAP, в данном случае directory.washington.edu
. Если вы получите его сертификат, например:
openssl s_client -connect directory.washington.edu:636 > dirwash.crt
а затем выполните:
openssl x509 -in dirwash.crt -text
вот увидишь:
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment
X509v3 Extended Key Usage:
TLS Web Client Authentication, TLS Web Server Authentication
Другие серверы LDAP (например, ldap.virginia.edu
) вообще не имеют этих расширений. Другие, как ldap.itd.umich.edu
есть вариант вышеперечисленного:
X509v3 Key Usage:
Digital Signature, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication, TLS Web Client Authentication
Короче говоря, я предлагаю вам проверить свой сертификат сервера - опубликуйте его здесь, если хотите - чтобы узнать, содержит ли он X509v3 (Extended) Key Usage
расширения и, если да, выглядят ли они как используемые на других серверах LDAP.
Я видел почтовая ветка это предполагает, что либо: (1) расширения должны отсутствовать; или (2) если расширения присутствуют, они должны содержать как минимум TLS Web Server Authentication
. Я не знаю, правда ли это в данном случае, но все равно стоит подумать.