使用pfx信任库的httpclient中的连接超时

时间:2019-07-16 13:18:49

标签: java httpclient connection-timeout truststore

我试图在Java 1.8的httpclient中使用带有证书的.pfx密钥库。

成功加载密钥库后,我尝试对其进行get调用。 而且我收到连接超时错误

KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(new FileInputStream(new File("C:/path_to_pfx/mypfx.pfx")), 
"changeit".toCharArray())

SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(ks, 
"changeit".toCharArray())
.loadTrustMaterial(new TrustSelfSignedStrategy()).build();
sslsf = new SSLConnectionSocketFactory(sslcontext);
builder.setSSLSocketFactory(sslsf);

httpClient = builder.build();
httpResponse = httpClient.execute(new HttpGet(url));

调用httpClient.execute方法时,将导致连接超时错误。

我也尝试对信任材料使用“证书”,但是结果是相同的。另外设置代理无效。

我的理解是我们可以直接在Java中使用.pfx类型的密钥库来创建sslContext。我在这里做错了什么吗?我应该只使用.jks类型的密钥库吗?为什么pfx类型的密钥库不起作用?

0 个答案:

没有答案