我想使用 AES-GCM 并以 BouncyCaSTLe 作为提供者,以便利用解密进行完整性检查。我很好奇完整性检查失败时引发的异常类型。是InvalidCipherTextException
吗?
在解密 AES-GCM 加密 blob 的上下文中,我还应该处理任何其他异常吗?
我发现http://www.cs.berkeley.edu/~jonah/bc/org/bouncycastle/crypto/package-tree.html 中还列出了一些异常(exception)情况。
最佳答案
对于轻量级 API,产生的异常确实是 InvalidCipherTextException
。这个答案是从 Bouncy CaSTLe 源代码中提取的,该源代码是公开可用的(例如,使用对源存储库的匿名访问)。
if (!Arrays.constantTimeAreEqual(this.macBlock, msgMac))
{
throw new InvalidCipherTextException("mac check in GCM failed");
}
这在存储库中该文件的 1.13 到 1.18 版本中似乎是相同的,请再次检查更高版本。
关于java - BouncyCasTLe 和 AES-GCM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13900482/