Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中创建到http服务器的TLS1.2连接_Java_Ssl - Fatal编程技术网

在Java中创建到http服务器的TLS1.2连接

在Java中创建到http服务器的TLS1.2连接,java,ssl,Java,Ssl,作为一个客户机,我想在Java中创建一个到URL(SOAP端点)的TLS1.2连接 我已经获得了一个PFX文件和该文件的密码 我不确定是否需要将PFX文件导入信任库或密钥库,以及如何执行此操作 创建连接的代码是什么样子的 此问题类似,但没有说明如何将pfx文件放入java密钥系统: 我确实成功地运行了: keytool -importkeystore -srckeystore client.pfx -srcstorestype pkcs12 -destkeystore clientcert.

作为一个客户机,我想在Java中创建一个到URL(SOAP端点)的TLS1.2连接

我已经获得了一个PFX文件和该文件的密码

我不确定是否需要将PFX文件导入信任库或密钥库,以及如何执行此操作

创建连接的代码是什么样子的

此问题类似,但没有说明如何将pfx文件放入java密钥系统:

我确实成功地运行了:

keytool -importkeystore -srckeystore client.pfx -srcstorestype pkcs12 
-destkeystore clientcert.jks -deststoretype jks
这使得clientcert.jks

最终,我将与服务器进行相互TLS,但作为起点,这些问题的答案将非常有用


我也有服务器证书。

如果你已经加载完密钥库,你可以看看这个描述如何在URL连接上设置SSL上下文的文件。

这样你就准备好了密钥库。我不清楚为什么要将PKCS#12转换为Java密钥存储类型(Java正倾向于使用PKCS#12作为默认值)。现在您必须设置您的信任库,除非服务器证书已经被信任,因为它是由现有的受信任CA颁发的。因此,请继续并配置您的连接。那么我是否将服务器证书添加到信任库?客户端证书的代码是什么样子的?我已经成功地将来自pfx的公共证书添加到cacerts文件中,答案如下:现在我需要一个代码片段来演示如何使用此证书的URLConnection连接到URL。我假设我还需要从网站下载公钥文件以在网站上使用MTL。通过加载PKCS#12作为
密钥库
实例,您可以直接使用PKCS#12作为密钥库实例,这是为了使用您的证书和私钥对您自己进行身份验证。您还需要一个信任库(也是一个
密钥库
实例)来验证服务器的证书。相同的
KeyStore
实例可以完成KeyStore和truststore的角色,但也可以使用单独的实例。然后,将JSSE实现配置为同时具有存储和启用客户端身份验证成为一个问题。然而,在互联网上应该有很多这样做的例子。