JavaでAES256を使用できるようにする

  • 60
    いいね
  • 1
    コメント
この記事は最終更新日から1年以上が経過しています。

概要

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)の無制限強度の管轄ポリシーファイルを差し替え

  1. zipファイルの解凍
  2. ファイル内に入っている「US_export_policy.jar」と「local_policy.jar」を以下の場所にコピー(既に同名ファイルが存在しているので、上書きする)
  • Windows

    
    %JAVA_HOME%\jre\lib\security
    
  • Linux

    
    $JAVA_HOME/jre/lib/security
    

あとはここを参考にコーディングすればよろしいかと。

以上!