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

как я могу использовать openssl для загрузки моего сертификата ldap через порт 389 вместо 636 (TLS)?

Я использовал следующую команду для загрузки моих сертификатов SSL сервера из LDAP, чтобы добавить их в хранилища ключей tomcat / java:

openssl s_client -connect 10.140.136.192:636

Поскольку LDAP SSL (порт 636) устарел, у меня больше нет порта 636. Я пытался найти разные заклинания для openssl s_client Такие как -starttls и -tls1_2 однако ни один из них не предъявляет сертификат. Какое волшебное слово для этого?

OpenSSL поддерживает starttls для ряда протоколов с s_client:

-starttls protocol
отправьте сообщение (я), зависящее от протокола, чтобы переключиться на TLS для связи. Протокол - это ключевое слово для предполагаемого протокола. В настоящее время поддерживаются только ключевые слова "smtp","pop3","imap", и "ftp".

что позволит вам легко получить общедоступный сертификат, но, к сожалению, LDAP не входит в их число.

Поскольку обновление до TLS зависит от протокола, вам нужен инструмент, который понимает протокол. Это исключает OpenSSL.

У меня нет под рукой каталога, но я бы не стал подробным ldapsearch -Z -v -H ldap://ldap.example.com:389 ... отображать сертификат как часть отладочной информации?
Быстрый поиск показывает, что студия Apache Directory показать сертификат слишком.

Обновить:

Openssl 1.1.1 включает патч для добавления поддержки LDAP (RFC 4511) в s_client и -starttls ldap теперь поддерживается. Версии openssl для RHEL / CentOS 7, похоже, перенесли это обновление (и другие) в пакет openssl 1.0.2k, который они поставляют, поскольку в руководстве теперь есть 8 дополнительных протоколов starttls:

-starttls protocol
отправьте сообщение (я), зависящее от протокола, чтобы переключиться на TLS для связи. Протокол - это ключевое слово для предполагаемого протокола. В настоящее время поддерживаются только ключевые слова smtp, pop3, imap, ftp, xmpp, xmpp-server, irc, postgres, lmtp, nntp, sieve и ldap.