如何使用 openssl 通過埠 389 而不是 636 (TLS) 下載我的 ldap 證書?
我曾經使用以下命令從 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
,sieve
和ldap
.