【发布时间】:2023-04-07 15:05:01
【问题描述】:
在加密请求中提供加密上下文时,它会以密码方式绑定到密文,因此需要相同的加密上下文来解密(或解密和重新加密)数据。如果解密请求中提供的加密上下文不是精确的、区分大小写的匹配,则解密请求将失败。只有加密上下文对的顺序可以变化。
但是,in the example code of JAVA SDK,解密时没有指定加密上下文。
crypto.decryptString(prov, ciphertext);
这两个帖子对我来说听起来有点矛盾,因为我认为解密用户需要自己提供加密上下文。我在sdk中查看了AwsCrypto.decryptString(final CryptoMaterialsManager provider, final String ciphertext))的源代码,似乎加密上下文也包含在密文中。
我可以知道为什么要这样设置吗?
【问题讨论】:
-
该示例使用的是“AWS Encryption SDK”,而不是“Java SDK”。 Java SDK 确实将加密上下文作为解密请求的一部分,如您所见 here
-
感谢您指出。我被这两个弄糊涂了。似乎从加密 sdk 返回的加密结果与使用 EncryptRequest 对象的 Java SDK 加密结果不同。我可以知道你是否知道为什么会有这样的差异?
标签: java amazon-web-services encryption aws-kms