2

Bouncy CastleでAES 256 ビット暗号化を使用したいのですが、次のコードで例外を受け取っているため、BC にもかかわらず" Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files " がまだ必要かどうか疑問に思っています。java.security.InvalidKeyException: Illegal key size

public class AES256 {
    public static void main(String[] args) throws Exception {
        Security.addProvider(new BouncyCastleProvider());

        final KeyGenerator keyGen = KeyGenerator.getInstance("AES");
        keyGen.init(256); // doesn't work for 192, too

        final byte[] encoded = keyGen.generateKey().getEncoded();

        final SecretKeySpec keySpec = new SecretKeySpec(encoded, "AES");
        final Cipher c = Cipher.getInstance("AES/CBC/PKCS5Padding", "BC");
        // Please ignore static IV for this example
        final IvParameterSpec iv = new IvParameterSpec(new byte[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15});

        c.init(Cipher.ENCRYPT_MODE, keySpec, iv); // throws java.security.InvalidKeyException: Illegal key size
    }
}

私は何が欠けていますか?Unlimited Strength Policy ファイルを使用せずに 256 ビット キーを使用する方法はありますか?

4

1 に答える 1

5

bouncycastle FAQの最初の質問。

于 2012-10-15T12:02:25.207 に答える