首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用aws-encryption-sdk对on环境中的上下文进行解密

使用aws-encryption-sdk对on环境中的上下文进行解密
EN

Stack Overflow用户
提问于 2021-06-23 19:05:59
回答 1查看 271关注 0票数 0

我想使用aws_encryption_sdk python模块来使用加密消息。消息由另一个团队使用上下文加密。

使用aws_encryption_sdk的原因是,每当我们调用boto3 KMS客户端解密函数时,通过减少kms会话的数量来降低成本。但是,我似乎陷入了困惑,因为在为EncryptionSDKClient调用解密函数时,我找不到可以使用它的位置。

我的代码如下所示:

代码语言:javascript
复制
client = aws_encryption_sdk.EncryptionSDKClient()

## try to set the botocore session for Master Key Provider
kms_kwargs= dict(key_ids=data['keyId'])
key_provider = aws_encryption_sdk.StrictAwsKmsMasterKeyProvider(**kms_kwargs)

MAX_ENTRY_AGE_SECONDS = 600.0
MAX_ENTRY_MESSAGES = 10
MAX_CACHE_SIZE = 10


cache = aws_encryption_sdk.LocalCryptoMaterialsCache(MAX_CACHE_SIZE)

caching_cmm = CachingCryptoMaterialsManager(
    master_key_provider=key_provider,
    cache=cache,
    max_age=MAX_ENTRY_AGE_SECONDS,
    max_messages_encrypted=MAX_ENTRY_MESSAGES
)

cycled_plaintext, decrypted_header = client.decrypt(source=base64.b64decode(data["encryptedData"]), key_provider=key_provider)

请注意,我需要在前提环境中缓存数据密钥。

EN

回答 1

Stack Overflow用户

发布于 2021-07-27 19:39:07

来自AWS开发人员关于KMS加密SDK页面的指南,加密上下文部分

若要解密数据,请传递加密消息。因为AWS加密SDK可以从加密的消息头中提取加密上下文,所以不需要单独提供加密上下文。但是,加密上下文可以帮助您确认您正在解密正确的加密消息。

还有一些验证加密上下文的代码示例,您可能会找到有用的这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68105790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档