问题描述
我正在尝试使用AWS KMS解密字符串,但出现InvalidCiphertextException错误(在异常名称后没有更多信息)。
我最初是在一个节点js lambda中使用环境变量作为crypticString的源进行解密:
var params = {
CiphertextBlob: Buffer.from(encryptedString,'base64')
};
kms.decrypt(params,function(err,data) {
if (err) {
...
} else {
...
}
}
我也尝试将CiphertextBlob值用作字符串,即:
CiphertextBlob: encryptedString
最初用于加密值的KMS密钥是对称的CMK,所以我认为不需要传递密钥ID。
我也通过awscli尝试了同样的事情(将ciphertext-blob作为字符串传递),但是得到了相同的错误:
aws kms decrypt --ciphertext-blob <encrypted string value> --query PlainText | base64 --decode
传递密钥ID也不起作用。
我使用了一个在线工具来验证加密的字符串是否为base64。我不太了解base64编码,因此不确定是否要证明密文是有效的。
我确定我的基本功不合格-我的加密字符串不是base64或解密所期望的不是,或者我可能缺少一些其他解密参数。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)