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

OpenLDAP с поддержкой ldaps в Debian Lenny

почему-то я не могу настроить slapd для включения поддержки ldaps в Debian Lenny. Похоже, что OpenLDAP скомпилирован с GnuTLS вместо OpenSSL, что может быть частью проблемы.

Я добавил в slapd.conf следующие параметры:

TLSCipherSuite TLS_RSA_AES_256_CBC_SHA
TLSCertificateFile /etc/ssl/certs/myhost.pem
TLSCACertificatePath /etc/ssl/certs/ 
TLSCertificateKeyFile /etc/ssl/private/myhost.pem
TLSVerifyClient never

и следующее в ldap.conf:

URI         ldap:/// ldaps:///
TLS_REQCERT never

Если я пытаюсь запустить slapd, в журналах появляется следующая ошибка:

main: TLS init def ctx failed: -64

Может быть, сертификат, созданный openssl, не может быть прочитан GnuTLS?

Кто-нибудь из вас настраивал OpenLDAP на Debian с поддержкой ldaps? Если да, мы будем очень признательны за любые подсказки о том, как заставить его работать.

Спасибо.

РЕДАКТИРОВАТЬ: нашел рабочий TLSCipherSuite.

Имена шифров между Openssl и GnuTLS не совпадают.

Пример шифра GnuTLS:

slapd.conf:
TLSCipherSuite TLS_RSA_AES_256_CBC_SHA

Чтобы получить список имен шифров GnuTLS:

$ gnutls-cli -l

И убедитесь, что файлы «сертификатов» доступны для чтения и принадлежат пользователю openldap. Вы также можете добавить пользователя openldap в группу ssl-cert.

это также может быть связано с тем, что gnutls отказался от поддержки алгоритмов md2 и md5. см. примечания к выпуску gnutls на lenny.

Задача решена.

Ключ сервера может быть прочитан только пользователем root и ssl-cert группы. Поэтому я добавил пользователя openldap в группу ssl-cert, но каким-то образом slapd все равно не смог прочитать ключ сервера. Я скопировал ключ и изменил его владельца на openldap, и теперь он работает.