web-dev-qa-db-ja.com

JCE Unlimited Strengthがデフォルトで含まれていないのはなぜですか?

セットアップ

  • Javaは、JCE無制限強度ポリシーファイルのすぐに使えるサポートを提供しません
  • これにより、ユーザーは、広く使用されている暗号化標準の最大キーサイズであるAES-256を使用できなくなります。
  • ポリシーファイルを含めないと、多くの問題が発生します。
  • このノイズはすべて、プログラムの破損やバグの原因になります

質問

  • なぜこれらは提供されず、黒い羊のように扱われないのですか?
24
dminuoso
23
dminuoso

JDKでデフォルトで無制限の暗号化が有効になりました

JDKはJava Cryptography Extension(JCE)管轄ポリシーファイルを使用して暗号化アルゴリズムの制限を設定します。以前は、JDKのポリシーファイルはさまざまなアルゴリズムに制限を課していました。無制限の管轄ポリシーファイル(デフォルトは無制限)動作は、/ lib/Java.securityファイルにある新しい「crypto.policy」セキュリティプロパティで制御できます。このプロパティの詳細については、そのファイルを参照してください。

参照: http://www.Oracle.com/technetwork/Java/javase/8u161-relnotes-4021379.html#JDK-8170157

11
ibrahim karayel

米国では、暗号化技術の輸出に制限があります。

https://en.wikipedia.org/wiki/Export_of_cryptography_from_the_United_States

以前は非常に厳格でした-暗号化は軍需品として分類されていたため、完全な強度の製品は米国および他のホワイトリストに登録された国からしかダウンロードできませんでした。

それ以降、制限は大幅に緩和されましたが、一部は残っており、完全な強度のJCEはJREのようにどこでも自由に配布できないため、別個のパッケージです。

3
Matt Timmermans