java - BouncyCasTLe 和 AES-GCM

标签 java aes bouncycastle

我想使用 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/

相关文章:

java - Bouncy CaSTLe 的安全异常

java - 在 SPRING 中使用 maven 而不是 ant,部署和构建

java - 关于从设计角度理解java代码段

java - 使用crawler4j获取html页面中存在的所有iframe、base64代码

java - 在 java 中使用 printf 时如何放置美元符号?

c++ - (Crypto++) 如何实现媒体文件加密?

javascript - 当 PassPhrase 相同时,需要 SJCL 进行相同的加密 AES 256 输出

iOS AES 实现错误?

java - org.bouncycaSTLe.asn1.DLSequence 无法转换为 org.bouncycaSTLe.asn1.ASN1Integer

java - 从 Bouncy CaSTLe 的 CMSAuthenticatedData [Java] 检索封装内容