aws-cli - 如何使用 aws 加密 cli 解密?
问题描述
我已使用 aws 加密 cli 加密 zip 文件(实际上是数据库备份),如下所示:
aws-encryption-cli -vv --encrypt \
--input "backup.zip" \
--wrapping-keys key=caf...854 region=us-east-1 \
--encryption-context purpose=dbbackup \
--metadata-output backup.metadata \
--output backup.zip.enc
这很好用,并生成加密的备份文件。但是我似乎无法使用相同的基本模式进行解密。
aws-encryption-cli \
-vv \
--decrypt \
--input backup.zip.enc \
--wrapping-keys key=caf...854 region=us-east-1 \
--output backup.zip \
--metadata-output backup.zip.metadatadec
产生错误:
2020-11-13 15:04:04,580 - MainThread - aws_encryption_sdk.key_providers.base - DEBUG - IncorrectMasterKeyError("Provided data key provider MasterKeyInfo(provider_id='aws-kms', key_info=b'arn:aws:kms:us-east-1:...:key/caf...854') does not match Master Key provider MasterKeyInfo(provider_id='aws-kms', key_info=b'caf...854')",) raised when attempting to decrypt data key with master key MasterKeyInfo(provider_id='aws-kms', key_info=b'caf...854')
在我看来,它在抱怨 KMS 密钥 ID 不匹配,因为在解密时它使用完整的 ARN (arn:aws:kms:us-east-1...),而在加密时它只使用 ID (caf ...854)。我不确定如何更改行为以在两种情况下使用相同的东西,或者是否有其他问题?
解决方案
FWIW,如果我在加密和解密时为包装密钥指定完整的 ARN,这似乎可行。我不确定为什么当我只使用 ID 时它会成功加密但解密失败 - 这感觉像是一个错误(应该对两者都失败或对两者都有效)。
推荐阅读
- javascript - React.js 组件甚至不呈现状态更改
- python-3.x - 如何点击被另一个元素覆盖的链接?Python 3.6 和硒
- python - 无法在 Windows 7 64 位中安装 openpyxl
- java - gradlew:无法从 '11.0.1' 确定 java 版本
- bash - 字符串连接在 bash 中不起作用
- google-apps-script - 从 BigQuery 查询数据并将单个数据返回到 Google AppMaker
- google-sheets - 有没有办法自动总结连接计数的返回?
- python - 我应该在 django 中为 cron 作业使用什么文件路径?
- python - 如何将 conda env 打包成一个文件?
- r - get()不适用于R中列表中数据框中的列(phew)