【问题标题】:Download.pfx certificate from Azure KeyVault with Python使用 Python 从 Azure KeyVault 下载.pfx 证书
【发布时间】:2020-11-24 16:52:53
【问题描述】:

我已将有效的 .pfx 证书导入 Azure 中的密钥库。当我尝试使用 SecretClient 对象通过 Python 下载它时,我得到一个没有“BEGIN CERTIFICATE”或“END CERTIFICATE”页脚的值。我的理解是这个值应该包含公共证书和私钥,但我似乎无法将此字符串值转换为我可以使用或使用 openssl 读取的任何内容。

我可以用az keyvault secret download很好地下载证书,然后用openssl正确读取它

我尝试将字符串写入文件并手动添加标题等,但我觉得我缺少一些基本的东西。我在这里看到的示例:https://github.com/Azure/azure-sdk-for-js/issues/7647 似乎显示了直接写入文件并使用 openssl 读取的值。这对我不起作用,我收到以下错误:

error:0D07803A: asn1 encoding routines : ASN1_ITEM_EX_D2I : nested asn1 error

所以基本问题是:如何将 KeyVaultSecret.value 转换为 x509 对象或如何将其写入文件以使 openssl 可以成功读取它

【问题讨论】:

    标签: python azure x509certificate azure-keyvault azure-sdk-python


    【解决方案1】:

    转换为 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成功询问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-17
      • 1970-01-01
      • 1970-01-01
      • 2016-07-15
      • 1970-01-01
      相关资源
      最近更新 更多