web-dev-qa-db-ja.com

local_policy.jarとUS_export_policy.jarは、Unlimited Strength Vs Defaultとは異なります。

In Javaプラットフォームのドキュメント http://www.Oracle.com/technetwork/Java/javase/jrereadme-182762.html 。に関するコメントについて

/lib/security/local_policy.jar /lib/security/US_export_policy.jar


無制限の強度Java暗号化拡張機能

一部の国の輸入管理制限により、Java Cryptography Extension(JCE)ポリシーファイルはJava SE Development KitおよびJava SE Runtime Environmentでは、強力ではあるが制限された暗号化を使用できます。

これらのファイルの無制限強度バージョンは、暗号化強度に制限がないことを示し、JDK Webサイトで対象国に住んでいる人に提供されています。適格国に住んでいる人は、無制限強度バージョンをダウンロードし、強力な暗号化jarファイルを無制限強度ファイルに置き換えることができます。ご質問

  1. すべてのJDKバンドルにはlocal_policy.jarおよびUS_export_policy.jarが付属していますか?
  2. デフォルトのlocal_policy.jarおよびUS_export_policy.jarの制限は何ですか。キーサイズですか?
  3. 128ビットキーを使用する必要がある場合、無制限の強度を使用する必要がありますJava暗号化
    拡張
  4. これらの2つのjarを外部パスに保持してロードする方法はありますか?各JDKに対処するのではなく、50台以上のサーバーがあるため、中央の場所で管理することをお勧めします。
11
John Peterson

すべてのJDKバンドルにはlocal_policy.jarおよびUS_export_policy.jarが付属していますか?

うん。 JCEは、1.4リリース以降、Java 2 SDKに統合されています。

デフォルトのlocal_policy.jarおよびUS_export_policy.jarの制限は何ですか。キーサイズですか?

はい、キーサイズです。 128ビット以上は許可されていません。 int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");を使用してアルゴリズムの最大サイズを確認できます

128ビットキーを使用する必要がある場合、無制限の強度Java Cryptography Extension

128ビットのキー暗号化では、Unlimited Strength Java Cryptography Extension jars。デフォルトのものは正常に機能するはずです。

これらの2つのjarを外部パスに保持してロードする方法はありますか?各JDKに対処するのではなく、50台以上のサーバーがあるため、中央の場所で管理することをお勧めします。

前述のように、暗号化に128ビットキーを使用している場合、このシナリオは発生しませんが、より長いキー(たとえば256)を使用している場合は、無制限の強度のjarを取得して$Java_HOME/jre/lib/security。 JDK/JRE自体にあるため、分散サーバーの場合ではなく、集中化することはできません。各サーバーで交換する必要があります。

Oracles リファレンスガイド を参照してください。

また、これを行いたくない場合は、代替手段について次のスレッドを参照できます-

アプリケーションの展開時に「無制限の強度」のJCEポリシーファイルをインストールしないようにする方法

リフレクションは、回避策としてスレッドのユーザーです。私はそれをお勧めしませんが、それを見てみることができます。

投稿ですべてをまとめました。あなたもそれを参照することができます-

インストール方法Java Cryptography Extension(JCE)無制限強度の管轄ポリシーファイル

15
Aniket Thakur