java中SSL如何使用_JAVA:如何使用公共证书和私钥建立SSL连接

在Java中使用HTTPS连接到需要客户端身份验证的服务器,需要创建一个包含私钥和公共证书的Java密钥库,并在代码中设置SSLContext。首先,你需要将私钥和公共证书转换成Java密钥库,然后在Java代码中通过SSLContext和SSLSocketFactory配置HttpsURLConnection。
摘要由CSDN通过智能技术生成

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

我正在尝试使用其中一个客户端的服务器对客户端进行身份验证,我可以通过发出以下命令来进行身份验证:

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

从上面的命令可以看出,我有以下几点:

>公开证书

>私钥

>密钥库

现在,我试图在Java中做同样的事情,但是我不知道如何完成它.我阅读的所有指南都告诉我应该使用我拥有的密钥库.但是在遵循这些指南时,我遇到了障碍.

我可以帮助或指出某个方向,我将不胜感激.

提前致谢,

彼得

解决方法:

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

首先,您需要根据私钥和公共证书创建Java样式的密钥库.有关此问题的答案,请参见详细说明:

您还需要将服务器的证书导入密钥库.

其次,您需要编写Java代码才能使用新创建的密钥库.为此,请使用密钥库创建一个SSLContext,然后将HTTPS URL连接设置为使用来自此上下文的套接字工厂-类似以下内容:

SSLContext sslContext

= SSLConnections.getSSLContext(keyStoreFile, keyStoreFilePassword);

httpsURLConnection.setSSLSocketFactory(sslContext.getSocketFactory());

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

标签:ssl,java

来源: https://codeday.me/bug/20191121/2055137.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值