gpt4 book ai didi

java - 将 cacert curl 到 Java HttpClient 等价物

转载 作者:搜寻专家 更新时间:2023-10-31 20:29:51 25 4
gpt4 key购买 nike

我想知道我是否能够像下面的命令那样使用 curl 建立连接,

curl --cacert some.pem https://someurl.com/resource

如何将其转换为 httpclient 代码?我知道我需要转换 pem 文件并创建一个新的 keystore 等。但是所有这些 openssl、keytool 命令、 keystore 、信任库让我感到困惑,我不知道该使用哪个以及以什么顺序使用。

最佳答案

您需要从 PEM 文件创建一个 keystore (您将用作信任库)。这可以按如下方式完成。

keytool -import -file cacert.pem -alias myca -keystore truststore.jks

然后您需要将此 keystore 用作信任库。

如果您只想为特定连接执行此操作,您应该遵循 this answer .

如果您想对应用程序中的所有连接(或至少那些不更改默认设置的连接)执行此操作,您可以使用 javax.net.ssl.trustStore(以及相关的) 系统属性(参见 Customization section of the JSSE Reference Guide )。如果您想为整个应用程序执行此操作,问题是不会包括默认的受信任 CA。解决此问题的一种简单方法是复制与 JRE 捆绑在一起的 cacerts 文件,并将其用作 truststore.jks 的起点。

或者,您可以将证书直接导入到全局 cacerts 文件中,但这将使该证书默认受此 JRE 上运行的所有应用程序的信任。

(您还可以在 this answer 中找到有关 keystore 和信任库之间区别的更多信息。)

关于java - 将 cacert curl 到 Java HttpClient 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12043033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com