BouncyCastle和AES-GCM

时间:2012-12-16 10:42:46

标签: java aes bouncycastle

我想使用AES-GCM和BouncyCastle作为提供者,以便利用解密进行完整性检查。我很好奇完整性检查失败时引发的异常类型。是InvalidCipherTextException吗?

在解密AES-GCM加密blob的情况下,我还应该处理其他任何例外吗?

我发现http://www.cs.berkeley.edu/~jonah/bc/org/bouncycastle/crypto/package-tree.html

列出了更多例外情况

1 个答案:

答案 0 :(得分:1)

对于轻量级API,产生的异常确实是InvalidCipherTextException。此答案摘自Bouncy Castle源代码,该源代码是公开可用的(例如,使用匿名访问源存储库)。

if (!Arrays.constantTimeAreEqual(this.macBlock, msgMac))
{
    throw new InvalidCipherTextException("mac check in GCM failed");
}

这在存储库中此文件的1.13到1.18版本中似乎相同,请再次检查以供更高版本使用。