Curl cacert与Java HttpClient等效
我想知道我是否能够像下面的命令一样使用curl建立连接 curl——cacert some.pemCurl cacert与Java HttpClient等效,java,ssl,httpclient,keytool,jks,Java,Ssl,Httpclient,Keytool,Jks,我想知道我是否能够像下面的命令一样使用curl建立连接 curl——cacert some.pem 如何将其转换为httpclient代码?我知道我需要转换pem文件并创建一个新的密钥库,等等。但是所有这些openssl、keytool命令、密钥库、信任库都让我感到困惑,我不知道该使用哪一个,以及使用的顺序。您需要从pem文件创建一个密钥库(将用作信任库)。这可以按如下方式进行 keytool -import -file cacert.pem -alias myca -keystore trus
如何将其转换为httpclient代码?我知道我需要转换pem文件并创建一个新的密钥库,等等。但是所有这些openssl、keytool命令、密钥库、信任库都让我感到困惑,我不知道该使用哪一个,以及使用的顺序。您需要从pem文件创建一个密钥库(将用作信任库)。这可以按如下方式进行
keytool -import -file cacert.pem -alias myca -keystore truststore.jks
然后需要将此密钥库用作信任库
如果您希望仅针对特定连接执行此操作,则应遵循以下步骤
如果要对应用程序中的所有连接(或至少是那些不更改默认值的连接)执行此操作,可以使用javax.net.ssl.trustStore
(及相关)系统属性(请参阅)。如果要对整个应用程序执行此操作,问题在于不会包括默认的受信任CA。解决这个问题的一个简单方法是制作一份与JRE捆绑在一起的cacerts
文件的副本,并将其用作truststore.jks
的起点
或者,您可以将证书直接导入全局cacerts
文件,但这将使该证书在该JRE上运行的所有应用程序上默认受信任
(您还可以在中找到有关密钥库和信任库之间区别的更多信息。)