Openldap

如何使用 openssl 通過埠 389 而不是 636 (TLS) 下載我的 ldap 證書?

  • October 29, 2018

我曾經使用以下命令從 LDAP 下載我的伺服器 SSL 證書,以便將它們添加到 tomcat/java 密鑰庫:

openssl s_client -connect 10.140.136.192:636

由於 LDAP SSL(埠 636)已被棄用,我不再有可用的埠 636。我試圖找到各種咒語openssl s_client,但是它們-starttls-tls1_2沒有產生證書。什麼是神奇的詞來做到這一點?

OpenSSL 通過 s_client 支持許多協議的starttls

-starttls protocol

發送特定於協議的消息以切換到 TLS 進行通信。協議是預期協議的關鍵字。目前,唯一支持的關鍵字是“ smtp”、“ pop3”、“ imap”和“ ftp”。

這將允許您輕鬆檢索公共證書,但遺憾的是 LDAP 不是其中之一。

由於升級到 TLS 是特定於協議的,因此您需要一個了解協議的工具。這排除了 OpenSSL。

我手頭沒有目錄,但不會詳細ldapsearch -Z -v -H ldap://ldap.example.com:389 ...顯示證書作為調試資訊的一部分嗎?

快速搜尋顯示 Apache Directory studio 也會顯示證書

更新:

Openssl 1.1.1 包含一個更新檔,用於將 LDAP 支持 (RFC 4511) 添加到 s_client並且-starttls ldap現在受支持。RHEL/CentOS 7 版本的 openssl 似乎已經將該更新(和其他)反向移植到他們發布的 openssl 1.0.2k 軟體包中,因為該手冊現在有 8 個額外的 starttls 協議:

-starttls protocol

發送特定於協議的消息以切換到 TLS 進行通信。協議是預期協議的關鍵字。目前,唯一支持的關鍵字是smtp, pop3, imap, ftp, xmpp, xmpp-server, irc, postgres, lmtp, nntp,sieveldap.

引用自:https://serverfault.com/questions/707653