我曾经使用以下命令从 LDAP 下载我的服务器 SSL 证书,以便将它们添加到 tomcat/java 密钥库:
openssl s_client-连接 10.140.136.192:636
由于 LDAP SSL(端口 636)已被弃用,我不再可以使用端口 636。我尝试过寻找各种咒语,例如,openssl s_client
但是-starttls
它们-tls1_2
都无法生成证书。执行此操作的咒语是什么?
答案1
OpenSSL 支持启动tls对于许多带有 s_client 的协议:
-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 包含补丁程序为 s_client 添加 LDAP 支持 (RFC 4511)并且-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
。