【问题标题】:AES 256bit encryption with Bouncy Castle: Unlimited Strength Policy still required?使用 Bouncy Castle 进行 AES 256 位加密:仍需要无限强度策略?
【发布时间】:2012-10-05 09:24:26
【问题描述】:

我想对 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
    }
}

我错过了什么?有没有办法在没有无限强度策略文件的情况下使用 256 位密钥?

【问题讨论】:

    标签: java encryption aes bouncycastle


    【解决方案1】:

    bouncycastle 中的第一个问题FAQ

    【讨论】:

    • 谢谢。我在 Bouncy Castle 网站的文档下寻找常见问题解答,但不在 Wiki 下。所以 BC 提供了更好的 (AES) 加密算法,但没有规避 Unlimited Strength Policy 问题。我希望我可以为应用程序的用户阻止这个安装步骤。
    • 认真的吗?我仍然必须安装 java 无限强度策略插件..?没有办法(图书馆)吗?
    猜你喜欢
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 2011-01-26
    • 2013-04-02
    • 1970-01-01
    • 2020-09-01
    相关资源
    最近更新 更多