我想知道是否能够使用curl 建立连接,如以下命令,
卷曲--cacert some.pemhttps://someurl.com/resource
如何将其转换为 httpclient 代码?我知道我需要转换 pem 文件并创建一个新的密钥库等。但是所有这些 openssl、keytool 命令、密钥库、信任库让我感到困惑,我不知道该使用哪一个以及按什么顺序。
您需要从 PEM 文件创建一个密钥库(您将用作信任库)。这可以按如下方式完成。
keytool -import -file cacert.pem -alias myca -keystore truststore.jks
然后,您需要使用此密钥库作为信任库。
如果您只想针对特定连接执行此操作,您应该遵循这个答案.
如果您想对应用程序中的所有连接(或至少那些不更改默认值的连接)执行此操作,您可以使用javax.net.ssl.trustStore
(和相关)系统属性(参见JSSE 参考指南的自定义部分)。如果您想对整个应用程序执行此操作,问题是不会包含默认的受信任 CA。解决这个问题的一个简单方法是复制cacerts
文件与您的 JRE 捆绑在一起,并使用它作为起点truststore.jks
.
或者,您可以将证书直接导入到全局中cacerts
文件,但这将使该证书默认受到在此 JRE 上运行的所有应用程序的信任。
(您还可以在以下位置找到有关密钥库和信任库之间区别的更多信息这个答案.)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)