サーバーとクライアントの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 セキュリティの carcerts に入れようとしましたが、役に立ちませんでした。
通信は、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
何がそれを解決できますか?