1

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

在解密 AES-GCM 加密 blob 的上下文中,我还应该处理任何其他异常吗?

我看到在http://www.cs.berkeley.edu/~jonah/bc/org/bouncycastle/crypto/package-tree.html列出了更多例外情况

4

1 回答 1

1

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

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

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

于 2012-12-16T16:47:08.323 回答