私のJavaアプリ内でAES256暗号化をサポートするためには、無制限の強度の管轄ポリシーファイルを備えたJCEが必要であると言われました。
これをOracleからダウンロードして解凍したところ、JARが2つしか表示されません。
local_policy.jar
;そしてUS_export_polic.jar
私はここで何も欠落していないことを確認したいだけです!私の理解(README.txt
を読んだ後)は、これら2つを<Java_HOME>/lib/security/
ディレクトリにドロップするだけで、インストールする必要があるということです。
これらのJARの名前から、AES256を処理できないJava Crypto APIではないが、実際にはlegalの問題だと思いますか?これら2つのJARは基本的にJREに次のように伝えます "はい、このレベルの暗号化(AES256)を実行することは法的に許容されます]"正しいですか、それともベース外ですか?
次のブログ投稿はあなたの質問に答えます:
AES256暗号化を使用するには、2つのJARが効果的に必要であり、次の手順を実行する必要があります。
2つのJARファイルをJDKの/ jre/lib/security /フォルダーにコピーし、同じ場所にある同じ名前のファイルを置き換えます。
さて、あなたの質問の2番目の部分に:はい、それは法的問題によるものです:
一部の国の政府による輸入規制により、出荷された管轄ポリシーファイルには、「強力」であるが制限された暗号化が使用できることが指定されています。これらのファイルの「無制限の強度」バージョンは、暗号強度に制限がないことを示し、適格国(ほとんどの国)に住んでいる人が利用できます。ただし、政府が制限を義務付けている国にインポートできるのは「強力」バージョンのみです。 JCEフレームワークは、インストールされている管轄ポリシーファイルで指定された制限を適用します。
また、関連するQ/Aがセキュリティスタックにあります: クラウド上のエクスポート法(キーサイズ) 。質問はクラウドに固有ですが、主な答えは「クラウド」だけではなく、ソフトウェアを販売するためのライセンスを取得できない国と、輸入許可が必要な国を示しています。
最後に、ウィキペディアで 米国の暗号のエクスポート に関する詳細情報を見つけることができます。