In Javaプラットフォームのドキュメント http://www.Oracle.com/technetwork/Java/javase/jrereadme-182762.html 。に関するコメントについて
/lib/security/local_policy.jar /lib/security/US_export_policy.jar
一部の国の輸入管理制限により、Java Cryptography Extension(JCE)ポリシーファイルはJava SE Development KitおよびJava SE Runtime Environmentでは、強力ではあるが制限された暗号化を使用できます。
これらのファイルの無制限強度バージョンは、暗号化強度に制限がないことを示し、JDK Webサイトで対象国に住んでいる人に提供されています。適格国に住んでいる人は、無制限強度バージョンをダウンロードし、強力な暗号化jarファイルを無制限強度ファイルに置き換えることができます。ご質問
すべての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ポリシーファイルをインストールしないようにする方法
リフレクションは、回避策としてスレッドのユーザーです。私はそれをお勧めしませんが、それを見てみることができます。
投稿ですべてをまとめました。あなたもそれを参照することができます-