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

Ser*_*ult 6 openldap openssl

我曾经使用以下命令从 LDAP 下载我的服务器 SSL 证书,以便将它们添加到 tomcat/java 密钥库:

openssl s_client -connect 10.140.136.192:636

由于 LDAP SSL(端口 636)已被弃用,我不再有可用的端口 636。我试图找到openssl s_client诸如此类的各种咒语-starttls-tls1_2但是它们都没有产生证书。什么是魔术词来做到这一点?

HBr*_*ijn 5

OpenSSL使用 s_client支持许多协议的starttls

-starttls protocol
发送特定于协议的消息以切换到 TLS 进行通信。protocol 是预期协议的关键字。目前,唯一支持的关键字是“ 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.First-starttls ldap现在支持。RHEL/CentOS 7 版本的 openssl 似乎已将该更新(和其他)反向移植到它们提供的 openssl 1.0.2k 软件包中,因为该手册现在有 8 个额外的 starttls 协议:

-starttls protocol
发送特定于协议的消息以切换到 TLS 进行通信。protocol 是预期协议的关键字。目前,唯一支持的关键字smtppop3imapftpxmppxmpp-serverircpostgreslmtpnntpsieveldap