-1
2つのスプリングブートアプリケーションがあり、互いに要求する必要があります。それらはhttps経由で動作し、私はhereと同じように両方に対して同じキーストアを作成しました。しかし、最初の送信要求が第二、私は次のエラーを取得するとき:両方のアプリケーションで同じキーストアを使用している場合のSSLハンドシェイク例外
Caused by: javax.net.ssl.SSLHandshakeException: SSLHandshakeException invoking https://service: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
SSLプロパティが
server.port = 5000
security.require-ssl=true
server.ssl.key-store-type:PKCS12
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=secret
server.ssl.key-alias=alias
ですまた、私はそれが言及されるべきだと思う - 証明書は自己署名されています。
私が逃した、または間違っていることは?
同じエラーです。 JDKキーストアに証明書を追加するとすべてがOKになりました。 Googleは、証明書が自己署名しているときにこの問題が発生する可能性のある記事をいくつか示しています。 同じキーストアを使用する理由は、同じ外部サービスと通信する2つの部分で分割された1つのアプリです。 – Anatoly
もしあなたがカスタムトラストストアを使用しているなら、 'javax.net.ssl.trustStore'プロパティを介してJavaについて*通知する必要があります。 – EJP