2012-04-23 7 views
0

Я бы хотел пройти аутентификацию с клиентского приложения C++ с помощью сервера OpenLDAP, например, используя SSL/TLS или SASL. Я использую 64-разрядную операционную систему Windows 7.Безопасная аутентификация LDAP

Я попробовал этот пример:

http://msdn.microsoft.com/en-us/library/windows/desktop/aa366105%28v=vs.85%29.aspx

Но он не в этой функции вызова: ULONG ldapConn = ldap_connect (pLdapConnection, NULL);

Код возврата от ldap_connect равен 81 (dec).

Я устанавливал OpenLDAP к компьютеру здесь:

http://www.userbooster.de/en/download/openldap-for-windows.aspx

Я использую 127.0.0.1 (локальный) в качестве хоста.

OpenLDAP журнал отладки выглядит следующим образом:
TLS след: SSL_accept: SSLv3 флеш данные
tls_read: хотите = 5 ошибка = Неизвестная ошибка
TLS трассировки: SSL_accept: ошибка в SSLv3 чтения сертификата клиента
TLS трассировки : SSL_accept: ошибка в SSLv3 чтения сертификата клиента A
демона: активность на 1 дескриптора
демона: просыпался
демон: WSselect: слушать = 2 active_threads = 0 TVP = NULL
демон: WSselect: слушать = 3 active_threads = 0 TVP = NULL,

Согласно журналу, кажется, что это как-то связано с сертификатами. Конфигурация OpenLDAP является приблизительно по умолчанию из пакета установки, например:

TLSVerifyClient никогда
TLSCipherSuite HIGH: MEDIUM: -SSLv2
TLSCertificateFile ./secure/certs/server.pem
TLSCertificateKeyFile ./secure/certs /server.pem
TLSCACertificateFile ./secure/certs/server.pem

кто-то знает, почему ldap_connect терпит неудачу?

Или кто-нибудь знает полезный учебник или пример кода на C++ по этой теме? Мне особенно неясно, как клиентские сертификаты связаны с кодом клиента. Другими словами, как это определено в клиентском коде C++, где сертификаты получены во время аутентификации.

BR, Tuomo

ответ

0

Найдена эта статья: http://www.openldap.org/lists/openldap-technical/200903/msg00061.html. Похоже, вы можете изменить TLSCipherSuite HIGH: MEDIUM: -SSLv2 для TLSCipherSuite HIGH: MEDIUM: + SSLv2.

+0

Благодарим за отзыв. Я обновил файл slapd.conf сервера OpenLDAP по вашему желанию (TLSCipherSuite HIGH: MEDIUM: + SSLv2), но кажется, что он все еще не работает. ldap_connect (pLdapConnection, NULL) вызов по-прежнему возвращает значение 81 и журнал OPENLDAP отладки выглядит как (извините о форматировании): TLS трассировки: SSL_accept: SSLv3 флеш данные
tls_read: хотите = 5 ошибка = Неизвестная ошибка
TLS след: SSL_accept: ошибка в SSLv3 чтения сертификата клиента A
TLS следа: SSL_accept: ошибка в SSLv3 чтения сертификата клиента A
демона: активность на 1 дескриптор
демона: Вакед
Tuppu

+0

есть ли у вас какие-то другие идеи? Вы видите сертификаты как потенциальную проблему или проблема в другом месте, поскольку я настроил «TLSVerifyClient never» в slapd.conf? Или системные домены могут вызвать некоторые проблемы? – Tuppu

Смежные вопросы