0

GlassFish v3 でローカルに Web アプリを実行しています。アプリは、別のサーバー (ローカルではない) にある REST Web サービスに接続します。接続は HTTPS 経由で行われます。接続しようとすると、次のようになります。

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

外部の ws ディレクトリからローカルの Java キーストアに証明書を追加しましたが、問題は解決しませんでした。

GlassFにローカルキーストアなどを使用するように指示する必要がありますか? または、Javaキーストアに追加するだけで、ローカルのGlassFでも機能するはずですか?

4

1 に答える 1

1

次の 2 つのオプションがあります。

1.) $JAVA_HOME/jre/lib/securityディレクトリの cacerts をキーストアに置き換えます。

2.) 実行時にキーストアを次のように変更します。

System.setProperty("javax.net.ssl.keyStore", <path to the new keystore>);
System.setProperty("javax.net.ssl.keyStorePassword",<password of the keystore>);
System.setProperty("javax.net.ssl.trustStore",<path to the new keystore>);

それが役立つことを願っています!

編集:この質問も役立つかもしれません。選択した回答は、次のことを示唆しています。

1.) キーストア ファイルを C:\glassfish3\glassfish\domains\domain1\config\ にコピーします。

2.) SSL を使用するように GlassFish を構成する

于 2013-03-14T17:09:33.650 に答える