我已經使用org.codehaus.mojo axistools-maven-plugin
插件版本1.4生成代碼。我正嘗試通過https連接到Web服務。我已將服務器證書安裝到jssecacerts中,並將此密鑰庫複製到/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security/
文件夾中。所以這意味着我在客戶端密鑰庫中擁有服務器證書。我還將服務器私鑰和證書導入到kestore.ImportKey密鑰存儲中。我想我將不得不使用這個作爲信任商店。現在,我如何在java客戶端連接所有這些? 我在客戶端使用自動生成的存根。我試圖使用以下但不起作用。如何在Axis2 Java客戶端中使用自簽名證書?
System.setProperty("javax.net.ssl.trustStore","certs/keystore.ImportKey");
System.setProperty("javax.net.ssl.trustStorePassword", "importkey");
我收到以下異常。
faultString: javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException:
PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
證書是有效的,因爲我通過同一主機的HTTPS客戶端使用相同的證書。另外,我能夠看到使用相同證書的成功請求。實際上,我不確定如何使用自簽名服務器證書通過https
編寫Axis2 soap Java客戶端。任何人都可以點我一步一步的例子。