具有自签名证书的双向SSL客户端

时间:2011-12-07 13:19:49

标签: java ssl httpclient

我需要访问需要双向SSL的WebService,我的客户端(及其服务器)具有自签名证书。

我只有以下代码:

System.setProperty("javax.net.ssl.keyStore", "path/myClient.key");
System.setProperty("javax.net.ssl.keyStorePassword", "pass");
System.setProperty("javax.net.ssl.keyStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStore", "path/myClient.truststore");
System.setProperty("javax.net.ssl.trustStorePassword", "pass");
System.setProperty("com.sun.net.ssl.dhKeyExchangeFix", "true");

我复制了TrustModifier以接受来自此处的自签名证书: http://java.dzone.com/articles/ignoring-self-signed

但是,我仍然无法将整个事物集成到HttpClient中以便成功连接。

任何帮助?

1 个答案:

答案 0 :(得分:1)

您的服务器还需要信任您的客户端证书才能在服务器端成功进行握手。将客户端的证书导入服务器的信任库。