如何使用 openssl 通过端口 389 而不是 636(TLS)下载我的 ldap 证书?

如何使用 openssl 通过端口 389 而不是 636(TLS)下载我的 ldap 证书?

我曾经使用以下命令从 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 进行通信。协议是目标协议的关键字。目前,仅支持的关键字是smtppop3imapftpxmppxmpp-serverircpostgres,,lmtpnntpsieveldap

相关内容