Aws cli 如何使用aws encryption cli进行解密?
我使用aws encryption cli对zip文件(实际上是数据库备份)进行加密,如下所示:Aws cli 如何使用aws encryption cli进行解密?,aws-cli,aws-kms,Aws Cli,Aws Kms,我使用aws encryption 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 \
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时,为什么它会在加密上成功,但在解密上失败——这感觉像是一个bug(要么两者都失败,要么两者都有效)