当前位置: 首页 > 知识库问答 >
问题:

Curl-cacert与Java HttpClient等效

袁鸿畴
2023-03-14

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

科尔-卡塞特·索姆·https://someurl.com/resource

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

共有1个答案

长孙深
2023-03-14

您需要从PEM文件创建一个keystore(它将用作信任存储库)。这可以如下进行。

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

然后需要将此密钥库用作信任库。

如果您希望仅对特定连接执行此操作,则应遵循以下答案。

如果您想对应用程序中的所有连接(或者至少是那些不更改默认值的连接)执行此操作,您可以使用javax.net.ssl.trustStore(和相关的)系统属性(请参阅JSSE参考指南的自定义部分)。如果您想对整个应用程序执行此操作,问题是不会包含默认受信任的CA。解决这个问题的一个简单方法是制作与JRE捆绑在一起的cacerts文件的副本,并将其用作truststore.jks的起点。

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

(您还可以在这个答案中找到更多关于密钥库和信任库之间区别的信息。)

 类似资料:
  • 我觉得很简单。 代码: 错误: Jan12, 2018 8:43:40AMorg.apache.http.impl.execchain.RetryExec执行INFO:处理{tls}请求时捕获的I/O异常(java.net.SocketException)- Jan12, 2018 8:43:40AMorg.apache.http.impl.execchain.RetryExec执行信息:重试对{

  • 问题内容: 访问REST API时,这两段代码有何不同? 和 从以下两个方面判断,它们都产生相同的结果 问题答案: 是一个简单的螺丝刀。非常适合简单的GET请求,其中标头,HTTP请求方法,超时,cookiejar,重定向和其他重要内容无关紧要。 带有流上下文或带有setopt的cURL 的Powerdrill带有您可以想到的每一个细节。

  • 问题内容: 我第一次使用curl命令: 我想在Java Servlet中发送此命令,并从响应中获取一个JSON对象以进行解析,最好的解决方案是什么? HttpURLConnection? Apache httpclient? 我尝试了几种不同的解决方案,但到目前为止没有任何效果,我可以找到的大多数示例都使用了已贬值的DefaultHttpClient 这是我的尝试之一的示例: 编辑 我已经修改了代

  • 我知道这个问题已经被问了一百万次,但我不知道我的代币请求有什么问题。 curl中的命令是 Curl-v-X POST-H"授权:基本XXXXXXXXXXXXXXXXXXXXXXXXXX"-H"内容-类型:应用程序/x-www-form-urlencoded; charset=UTF-8"-k-d"grant_type=密码 转换为泽西它应该是: 我得到的答案是: JAVAlang.RuntimeE

  • 当通过PHP发出curl请求时,curl得到“无法连接到主机”。当我转储curl信息时,不是请求服务器的ip。 这在我的测试服务器上运行良好,但在生产环境中不起作用。在生产服务器上,这是我得到的响应: 大堆 7. 无法连接到主机数组(23){["url"]=

  • 问题内容: 我遇到这个奇怪的错误, CURL错误:接收失败:对等连接重置 如果我没有连接到服务器,而突然尝试通过PHP中的CURL连接到服务器,则会出现此错误。当我再次运行CURL脚本时,错误消失,然后在整个过程中都正常运行,如果我将远程服务器保持空闲状态约30分钟或重新启动远程服务器并尝试重新连接,则我会再次收到该错误。因此,似乎连接处于空闲状态,然后突然服务器唤醒,然后工作,然后再次进入睡眠状