ローカル開発マシンに有効なキーストアがあり、HTTPS 経由で Web サービスにアクセスするための証明書が含まれています。
プロジェクトでこのキーストアにアクセスするには、次の方法を使用します。
System.setProperty("javax.net.ssl.truststore", "C:\\<workspaceprojectPath>\\SIPkeystore\\truststore.jks"); // sollte wohl auch ohne Keystore klappen
System.setProperty("javax.net.ssl.keyStore", "C:\\<workspaceprojectPath>\\SIPkeystore\\SIPkeystore.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "SECRET");
今、別のプロジェクトからその証明書にアクセスしたいと考えています。そこで、他の (ローカル) プロジェクト ディレクトリにあるキーストアへの同じ (完全な) パスを指定します。
どうやらパスはまだ jvm によって検出され、プロパティが設定されていますが、Web サービスにアクセスすると、キーストアをまったく追加していないかのように同じエラー メッセージが表示されます。
アプリケーションを実行しようとすると、
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid
certification path to requested target
既存のキーストアをコピーする可能性はありますか? これは、アプリケーションをサーバーにデプロイするときにも重要です。アプリケーションはスタンドアロンの jar として実行されます。(ウェブサーバーなし)
編集: OK、元のキーストアファイルのローカルコピーを使用しながら元のアプリケーションを実行できるため、キーストアのコピーは問題ではないようです。構成の問題のようです。