2
我需要訪問需要雙向SSL的WebService,我的客戶端(及其服務器)具有自簽名證書。具有自簽名證書的雙向SSL客戶端
我只有下面的代碼:
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連接成功。
任何幫助?
如果您的商店中有證書,則不得使用TrustModifier。 TrustModifier只是禁用證書檢查。並請描述您所得到的異常/錯誤消息。 – kan
如果您的客戶端證書是自簽名的,您還需要更改服務器上的信任設置。不要放鬆信任設置,通常最好將自簽名證書明確導入各自的信任庫(否則,使用SSL幾乎沒有意義)。 – Bruno