エグゼクティブ サマリー: Java コードを使用して新しいルート証明書を Java にインストールするにはどうすればよいですか?
さまざまな Web サービスにアクセスするデスクトップ アプリケーションがあります。最近、そのうちの 1 人が SSL 証明書を Trustwave によって署名されたものに切り替えました。Trustwave SSL 証明書は通常のインターネット ブラウザで受け入れられますが、Java には前提条件となるルート証明書が付属していないようで、指定された Web サービスへのアクセスが失われ、次のエラー メッセージが表示されました。
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
プロバイダーに Verisign に戻すよう説得することで一時的な猶予を得ましたが、彼らが元に戻すときは準備ができていなければなりません。そのため、必要に応じて Trustwave ルート証明書を自動的にインストールするデスクトップ ソフトウェアが必要です。私たちの顧客は keytool コマンドを使用するほど技術に精通しておらず、脆弱なソリューション (Mac と PC の個別の実装、Vista の実行制限との闘い、インストールする正しい JRE を見つけるのに苦労) のように思うので、スクリプトを作成したくありません。など)。
keytool は内部で Java を使用していると思います。keytool の機能を複製し、ルート証明書をプログラムでインストールするには、Java 内でどのコマンドを使用できますか?