Назад | Перейти на главную страницу

gnutls против openssl с openldap, debian и centos

У меня есть сервер 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. Я не знаю, правда ли это в данном случае, но все равно стоит подумать.