要旨:Javaコードを使用してJavaに新しいルート証明書をインストールするにはどうすればよいですか?keytoolコマンドラインユーティリティを使用せずに新しいJava CA証明書をインポートするにはどうすればよいですか?
私たちはさまざまな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でどのようなコマンドを使用できますか?
それは私たちのために働くことができます。このリンクは、私たちが正確に望むものではない検証を完全に無効にする方法を示唆していますが、通常のTrustManagerにすべての通常のルート証明書と1つを試すものを作ることができます。ありがとう、これは有望そうです。 –