gpt4 book ai didi

Java : How to make SSL connection with public certificate and private key

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:48:29 24 4
gpt4 key购买 nike

我希望能就我今天遇到的问题获得一些帮助:

我正在尝试使用我们其中一位客户的服务器对我的客户进行身份验证,我可以通过发出以下命令来完成此操作:

curl -v -k -H "Content-Type:application/json"--key privkey.pem --cert pub.cer --data @search.json https://....

从上面的命令可以看出我有以下内容:

  1. 公共(public)证书
  2. 私钥
  3. keystore

    现在,我正尝试在 java 中做同样的事情,但我不知道如何完成它。我读过的所有指南都告诉我应该使用我拥有的 keystore 。但我在遵循这些指南时遇到了障碍。

    任何人都可以帮助或指出某个方向,我将不胜感激。

    提前致谢,彼得

最佳答案

听起来您需要使用 HTTPS URL 连接来连接需要客户端身份验证的服务器。你需要做两件事才能从你所在的地方到达那里。

首先,您需要从您的私钥和公共(public)证书创建一个 Java 风格的 keystore 。可以在这个问题的答案中找到详细说明:

importing an existing x509 certificate and private key in Java keystore to use in ssl

您还需要将服务器的证书导入 keystore 。

其次,您需要编写 Java 代码以使用新创建的 keystore 。为此,请使用您的 keystore 创建一个 SSLContext,并将您的 HTTPS URL 连接设置为使用此上下文中的套接字工厂 - 大致如下:

SSLContext sslContext 
= SSLConnections.getSSLContext(keyStoreFile, keyStoreFilePassword);
httpsURLConnection.setSSLSocketFactory(sslContext.getSocketFactory());

这应该在创建 HttpsURLConnection 之后但在连接之前完成 - 也就是说,在您对其进行读取或写入之前,或者在其上调用 connect() 之前。

关于Java : How to make SSL connection with public certificate and private key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22950226/

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