概要
Javaには、Cipherという暗号化/復号化を行うクラスが用意されている。
デフォルトのままだとAESの鍵の長さは128bitしか使えない。
これは、(AESの規格を定めた)アメリカの輸出規制か何かの制限によるものらしいが、
ここによると日本ではこの制限を受けないので、
Javaのポリシーファイルを書き換えれば256bitも使える。
JCE(Java Cryptography Extension)の無制限強度の管轄ポリシーファイルをダウンロード
バージョンによってファイルも変わるので注意。
バージョン | ダウンロード元 | ファイル名 |
---|---|---|
JDK1.6 | JCE Unlimited Strength Jurisdiction Policy Files 6 | jce_policy-6.zip |
JDK1.7 | JCE Unlimited Strength Jurisdiction Policy Files 7 | UnlimitedJCEPolicyJDK7.zip |
JDK1.8 | JCE Unlimited Strength Jurisdiction Policy Files 8 | jce_policy-8.zip |
ダウンロードしたJCE(Java Cryptography Extension)の無制限強度の管轄ポリシーファイルを差し替え
- zipファイルの解凍
- ファイル内に入っている「US_export_policy.jar」と「local_policy.jar」を以下の場所にコピー(既に同名ファイルが存在しているので、上書きする)
-
Windows
%JAVA_HOME%\jre\lib\security
-
Linux
$JAVA_HOME/jre/lib/security
あとはここを参考にコーディングすればよろしいかと。
以上!