使用Python从Azure KeyVault下载.pfx证书
我已将有效的.pfx证书导入Azure中的密钥库。当我尝试用Python使用SecretClient对象下载它时,我得到一个没有“begincertificate”或“END CERTIFICATE”页脚的值。我的理解是,这个值应该包含公共证书和私钥,但我似乎无法将这个字符串值转换为任何我可以使用或读取openssl的内容 我可以使用使用Python从Azure KeyVault下载.pfx证书,python,azure,x509certificate,azure-keyvault,azure-sdk-python,Python,Azure,X509certificate,Azure Keyvault,Azure Sdk Python,我已将有效的.pfx证书导入Azure中的密钥库。当我尝试用Python使用SecretClient对象下载它时,我得到一个没有“begincertificate”或“END CERTIFICATE”页脚的值。我的理解是,这个值应该包含公共证书和私钥,但我似乎无法将这个字符串值转换为任何我可以使用或读取openssl的内容 我可以使用az keyvault secret download下载证书,然后使用openssl正确读取 我曾尝试将字符串写入文件并手动添加标题等,但我觉得我缺少一些基本的东
az keyvault secret download
下载证书,然后使用openssl正确读取
我曾尝试将字符串写入文件并手动添加标题等,但我觉得我缺少一些基本的东西。我在这里看到的示例:似乎显示了直接写入文件并使用openssl读取的值。这不适用于我,我得到以下错误:
error:0D07803A: asn1 encoding routines : ASN1_ITEM_EX_D2I : nested asn1 error
因此,最基本的问题是:如何将KeyVaultSecret.value转换为x509对象,或者如何将其写入文件,以便openssl能够成功地读取它转换为base64时出错。未来相关方的代码如下:
import base64
from azure.keyvault.secrets import SecretClient
secret = SecretClient(keyvaulturl,credentials)
secret_b64 = base64.b64decode(secret.value)
with open('test.pfx','wb') as fopen:
fopen.write(secret_b64)
这可以通过openssl成功地进行查询