2016-12-13 9 views
0

JREに付属のCacertsに信頼できる証明書を追加する必要がありますが、顧客のJREインストールに対して制御や所有権がありません。 cacertsファイルのファイルパスの場所を想定し、それをカスタムTrustManagerに読み込む以外のセキュリティAPIを通じてこれを行う方法はありますか?Java SSL - プログラムでCacertsに自己署名証明書を追加する

答えて

0

独自のトラストストアを使用して、SSLのJVM -Dパラメータで定義することができます。 私は常に私が持っているのとまったく同じ企業環境でやります。

+0

Hmm ..実際には、コードがはるかに簡単になります!将来のJREリリースでcacertsファイルが変更されるかどうかについて懸念すべきですか? certsファイルのコピーを定期的に更新する必要があると思います。 – CraigM

+0

一般に、誰もJREのデフォルトのキー/トラストストアを使用しません。実際の証明書にはほとんど何もありません。そして、非常に多くの場合、複数の店舗が使用されています。私はWeblogic、JBoss、Tomcatなどのアプリケーションサーバやコンテナについて話しています。そこにはアプリケーションがあります。 – Vadim

1

スタンドアロンJavaアプリケーションを実行している場合を除き、JVMのトラストストアをグローバルに設定することはお勧めしません。通常、SSLContextは、必要な証明書をサポートする必要な信頼マテリアルで構成できます。 しかし、JavaのSSLは、設定エラーが最小限に抑えられ、本当に奇妙なエラーメッセージが表示される可能性があるため、迷惑な部分の1つになります。

私はnot-yet-commons-sslを使用して双方向SSL認証(公開または私的に署名された証明書)を実装することに成功しました。ライブラリは少し古いですが、特にraw Javaより使いやすい複数のJVMバージョンをサポートする必要がある場合

+0

同意します。それは私が言ったことですが、私は電話から入力しています:-( – Vadim

関連する問題