python-3.x - 将 AWS KMS 公钥(从字节)转换为 .pem 文件
问题描述
我正在使用 Python3 和 Boto3 以编程方式使用 AWS KMS(密钥管理服务)。我在 KMS 本身中创建了一个非对称密钥对(公共和私有)。现在有一种方法可以将公共和私有文件本地保存到在 KMS 上创建的磁盘上。
这是我的代码:
import boto3
import base64
def get_keys_from_kms(key_id):
client = boto3.client('kms')
response = client.get_public_key(KeyId=key_id)
pub_key_dec = base64.b64encode(response['PublicKey']).decode()
现在我的观点是如何将内容保存pub_key_dec
到文件并将其转换为 pem 格式。同样,我也可以下载私钥。希望我的问题很清楚。
解决方案
访问 AWS KMS 中私有密钥的密钥材料的唯一方法是生成密钥并将其上传到 AWS 到客户管理的 CMK。但是,您只能对对称加密密钥执行此操作,而不是非对称密钥。你问的不可用。但是,您可能想要做的是通过 KMS 密钥策略和/或 IAM 策略限制对 kms:decrypt 操作的用户/原则的访问。
https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html
推荐阅读
- javascript - 使用 javascrtip 切换外部样式表并使用 localstorage 保存
- java - 嵌套 For 循环说明
- javascript - 提交后Reactjs表单没有被清除
- cypress - cypress-testrail-reporter 为我在 TestRail 中的每个测试文件创建单独的运行,而不是一个测试运行
- amazon-web-services - 如何通过 Virtual-Hosted-Style 访问触发 Object Lambda Access Point
- python - 创建多个时间序列块作为 keras 模型的输入
- c# - 如果文件名中存在 #2 或 #3 或 #(任何数字),则跳过文件重命名对话
- css - 前景中的 Transparent-Background-Png 不保留 Angular 组件中的背景透明度
- python - python等价于Matlab展平
- python - 过滤电话号码