我正在尝试将我的应用程序配置为访问仅使用 StartTLS 扩展侦听端口 389 的LDAP 服务器以确保安全。我想要获取 SSL 证书的副本,以便可以将其指定为已知证书(在 jssecacerts 文件中,因为我的应用程序是用 Java 编写的)。
如果它在端口 636 上运行,我会像这样使用 openssl:
openssl s_client -host myhost -port 636
Run Code Online (Sandbox Code Playgroud)
并从输出中获取证书。
我的第一个想法是尝试使用:
openssl s_client -host myhost -port 389 -starttls ...
Run Code Online (Sandbox Code Playgroud)
但这不支持 LDAP 版本的 starttls。
然后,我尝试使用具有高调试级别的 ldapsearch:
ldapsearch -ZZ -h myhost -d99 ...
Run Code Online (Sandbox Code Playgroud)
我可以看到无线数据包含证书,但它不是我知道如何使用的形式。
有没有一种简单的方法来获取证书,无论是通过命令行工具还是短程序?(我不太关心哪种语言,但 Java 是理想的选择)
著名的InstallCert程序的新版本现在支持多种协议的 STARTTLS,其中包括 LDAP。
只需像这样运行它:
java -jar installcert-usn-20131123.jar host_name:389
Run Code Online (Sandbox Code Playgroud)
它会将证书保存在jssecacertsJRE 文件树的密钥库文件中,以及extracerts当前目录的密钥库文件中。然后,您可以使用 Java keytool将证书导出为其他格式。
欢迎您访问我的博客页面Yet another InstallCert for Java,现在支持 STARTTLS下载和说明。
| 归档时间: |
|
| 查看次数: |
21018 次 |
| 最近记录: |