该错误表示在您的信任库中找不到服务器证书。检查.keystore文件的内容以确定它是否包含服务器证书(在truststore中列为trustedEntry)。如果是,请设置以下系统属性(使用-D JVM参数或System.setProperty())。
javax.net.ssl.trustStore=<>
javax.net.ssl.trustStorePassword=<>
如果不设置这些属性,默认的值,将从您的默认位置回升。[$ JAVA_HOME/lib/security中/ jssecacerts,$ JAVA_HOME/lib/security中/ cacerts中]
以查看密钥存储文件的内容,使用
keytool -list -v -keystore file.keystore -storepass mypassword
要调试SSL握手过程并查看证书,设置VM参数-Djavax.net.debug =所有
如果Web服务需要2路SSL,则客户端需要发送其身份(从您的密钥库中选取)。在这种情况下,您的.keystore将包含一个privateKeyEntry,它将在握手过程中发送到服务器。要配置它,请将JVMM属性javax.net.ssl.keyStore和javax.net.ssl.keyStorePassword设置为指向您的密钥库。