我创建了服务器和客户端keystore.jks和truststore.jks对。 server-truststore.jks包含client-public.cer,client-truststore.jks包含server-public.cer。SSL 证书没有 CA,是自签名证书。如果我在本地播放通讯,它就可以工作。但是在部署我的服务器后,我得到了异常:
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
我试图将我的服务器/客户端证书放入 java 安全证书中,但没有帮助。
只有当我从 SOAP UI 调用我的 WS 时,通信才有效。(对于 SOAP UI 我不需要使用truststore.jks)
我用著名的 SSLPoke.class 检查了它
$ java SSLPoke HOST 443
Successfully connected
$ java -Djavax.net.ssl.trustStore=truststore.jks SSLPoke HOST 443
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
有什么可以解决的?