7

Mac OS X には、/System/Library/Frameworks/JavaVM.framework/Home/lib/security/cacerts に CA キーストアがあります。このキーストアは、Java の更新ごとに上書きされるようです。これは、開発環境、テスト用の内部 CA があるため、非常に面倒です…</p>

Apple JSR 間でキーストアの変更を保持する方法はありますか? Snow Leo JSR3 では、個別の Java 開発者パッケージ (JDK が同じキーストアを使用する) の更新間でもキーストアの変更を保持する方法はありますか?

4

3 に答える 3

5

[これは古い情報です-10.6+については以下の回答を参照してください]

/System/Library/Frameworks/JavaVM.framework/Home/Versions/CurrentJDK/HomeJavaVM.framework内へのシンボリックリンクです。明らかに、これは新しいバージョンで変更されます。フルパス(例/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home)を使用すると、更新間で変更されません。

于 2010-12-13T12:47:16.703 に答える
4

次のパラメーターを使用して、cacerts ファイルの場所を java に指定できます。

-Djavax.net.ssl.trustStore=<cacerts.location>
-Djavax.net.ssl.trustStorePassword=changeit

Java ホーム ディレクトリ (内部 CA を含む) に cacerts のコピーを作成し、ホーム ディレクトリのどこかに配置します。次に、上記の javax.net.ssl.trustStore プロパティの値として、cacerts ファイルの場所へのフル パスを入力します。そのコピーは、Java の更新によって上書きされません。デフォルトのパスワードは「changeit」です。

このアプローチの 2 つの欠点は次のとおりです。

  • ファイルは、sdk の cacerts ファイルへの更新を取得しません。これは主に、認証局が侵害された場合の問題です。
  • カスタム cacerts (ビルド ツール、アプリ サーバーなど) が必要な場所では、これらのパラメーターを指定する必要があります。
于 2012-05-03T16:48:52.257 に答える