GNU-CRYPTO:JCE无法验证提供程序GNU-CRYPTO

时间:2014-11-23 06:28:06

标签: java encryption cryptography gnu

我正在尝试使用GNU-CRYPTO的加密算法。 但每当我尝试时我得到一个:java.lang.SecurityException:JCE无法验证提供者GNU-CRYPTO'

奇怪的是,我可以正常使用此软件包中的所有哈希函数,但是当我尝试使用密码时,我得到了这些函数,用于AES,DES,DESede ......

基于此,我认为安装顺利。此外,当我将代码与其他提供程序(BC,SUN)一起使用时,它可以正常工作。

任何人都可以帮助我。

    algorithm="DES";
    provider="GNU-CRYPTO";
    generator = KeyGenerator.getInstance(algorithm); <-works
    generator.init(randGenerator);
    SecretKey key = generator.generateKey();

    cipherEncryption = Cipher.getInstance(algorithm, provider); <- stops here

1 个答案:

答案 0 :(得分:2)

这可能是因为该项目已集成到GNU类路径中。这意味着最后签名的提供商是1.4。最多1.5个必须为每个Java版本创建库的签名版本,因此1.4版本可能与1.5及更高版本不兼容(例如检查弹性类库,每个版本的Java具有单独的下载,最高为1.5 )。此外,证书可能已过期。

请使用实际维护的加密库。首先应该不需要GNU加密。