如何通过Python SDK从Azure Key Vault下载PEM格式公钥?
使用Azure Python SDK获取Key Vault中PEM格式公钥
要获取标准PEM格式的公钥,你需要借助get_key返回对象中的密钥材料,结合cryptography库将其序列化为目标格式。以下是具体实现方案:
步骤1:安装依赖
确保已安装所需的Python包:
pip install azure-identity azure-keyvault-keys cryptography
步骤2:完整代码实现
from azure.identity import DefaultAzureCredential from azure.keyvault.keys import KeyClient from cryptography.hazmat.primitives import serialization # 初始化认证客户端与密钥客户端 credential = DefaultAzureCredential() vault_url = "https://my-key-vault.vault.azure.net/" key_client = KeyClient(vault_url=vault_url, credential=credential) # 获取密钥对象 key = key_client.get_key("key-name") # 将密钥材料序列化为PEM格式公钥 pem_public_key = key.key.public_bytes( encoding=serialization.Encoding.PEM, format=serialization.PublicFormat.SubjectPublicKeyInfo ) # 输出字符串格式的PEM公钥 print(pem_public_key.decode("utf-8"))
代码说明
key.key:这是get_key返回对象的核心属性,包含了实际的密码学密钥实例(比如RSA或EC公钥对象)。public_bytes方法:该方法负责将密钥材料转换为指定编码和格式的字节串,这里指定PEM编码和SubjectPublicKeyInfo格式,正好生成你需要的带标记的标准公钥。decode("utf-8"):将字节串转换为可读的字符串,输出结果就是符合要求的PEM格式内容。
内容的提问来源于stack exchange,提问作者user3301460
相关产品推荐
相关产品推荐

