1

我正在使用 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 格式。同样,我也可以下载私钥。希望我的问题很清楚。

4

1 回答 1

1

访问 AWS KMS 中私有密钥的密钥材料的唯一方法是生成密钥并将其上传到 AWS 到客户管理的 CMK。但是,您只能对对称加密密钥执行此操作,而不是非对称密钥。你问的不可用。但是,您可能想要做的是通过 KMS 密钥策略和/或 IAM 策略限制对 kms:decrypt 操作的用户/原则的访问。

https://docs.aws.amazon.com/kms/latest/developerguide/importing-keys.html

于 2021-06-28T17:10:24.387 回答