gpt4 book ai didi

java - 如何使用 jersey 客户端使用 https RestFul Webservice

转载 作者:行者123 更新时间:2023-12-02 13:42:32 25 4
gpt4 key购买 nike

问题:我想使用 jersey 客户端使用 HTTPS Restful Webservice。

1) 我从第 3 方获得了 CARoot 证书并安装在浏览器 (Mozilla) 上,并且我能够从 Mozilla 浏览器上的 RestClient 访问这些服务。

i) RootCA.pemii) SubCA-Client.pemiii) abc_sdsdllkl_p12.pfx

2) 我想使用 jersey 客户端在 JAVA 代码中配置此 Web 服务。

3)我需要执行哪些步骤才能在java代码中配置这些证书。

4) 我不想在本地 JRE 中配置这些。

PAttributes pd = new PAttributes();
ClassLoader classLoader = pd.getClass().getClassLoader();
File file = new File(classLoader.getResource("cacerts").getFile());
System.setProperty("javax.net.ssl.trustStore",file.getAbsolutePath());
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");
Client client = Client.create();
WebResource webResource = client.resource("https://xyz/abc/getAttributes");
String input = new PAttributes().getRequestBody();
ClientResponse clientResponse = webResource.accept("application/xml").type("application/xml").post(ClientResponse.class, input);
String output = clientResponse.getEntity(String.class);
System.out.println("output"+output);

我已从浏览器下载了 .crt 文件,需要配置,不知道如何配置?

最佳答案

在您的 Java 安装文件夹中有一个名为 cacerts 的文件。这是 JRE 的“ keystore ”或“信任库”。它包含您的 JRE 信任的所有证书。您可以从信任库中添加/删除证书。要轻松添加/删除证书,您可以使用 GUI 程序 Keystore Explorer

选项 1 使用 Keystore Explorer 和默认信任库

  1. 使用 keystore 资源管理器打开信任库。
    (信任库应位于 <JRE-HOME>/lib/security/cacerts 下,默认密码应为“changeit”或“changeme”)

  2. 将“.crt”文件拖放到 keystore 资源管理器中打开的信任库中

  3. 点击“导入”并保存信任库

现在您的 JRE 安装已准备好使用 Web 服务。

<小时/>

选项 2 使用 keystore 资源管理器和单独的信任库

  1. 将默认信任库复制到您的项目中。默认的truststroe的路径是:<JRE-HOME>/lib/security/cacerts

  2. 使用 keystore 资源管理器打开复制的信任库。
    (默认密码应为“changeit”或“changeme”)

  3. 将“.crt”文件拖放到 keystore 资源管理器中打开的信任库中

  4. 使用以下 VM 参数启动您的程序:

    -Djavax.net.ssl.trustStore [复制信任存储路径]
    -Djavax.net.ssl.trustStorePassword [信任库密码]

<小时/>

选项 3 使用 2 个信任库(默认 + 单独的信任库)

如果您想为网站使用默认信任库和单独的信任库,请参阅这篇文章 https://stackoverflow.com/a/24561444/1638059

关于java - 如何使用 jersey 客户端使用 https RestFul Webservice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42670074/

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