【问题标题】:Using certificate from Azure key vault in pipeline在管道中使用 Azure 密钥保管库中的证书
【发布时间】:2020-04-04 10:46:57
【问题描述】:

我有一个包含证书的密钥库。在 Azure DevOps 中,我创建了一个链接到此密钥保管库的库,并在我的发布管道中创建了一个引用证书的参数。对于以这种方式使用例如密码和用户名,在代码中很容易做到,只需使用password = Environment.GetEnvironmentVariable("password"),但是如何使用证书来做到这一点?

我当前设置安装在本地证书存储中的证书的代码是:

X509Store store = new X509Store(StoreName.My, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certificateCollection = store.Certificates.Find(X509FindType.FindByThumbprint, "3333333333333", true);

var handler = new HttpClientHandler();
handler.ClientCertificates.Add(certificateCollection[0]);

我想替换它,以便它在我的密钥保管库中找到并使用证书。有谁知道如何做到这一点?我发现这方面的文档非常少,人们会认为这是一个非常普遍的问题。

编辑:

好的,我发现我可以将证书添加到应用服务的 SSL 设置中:

问题仍然存在,我如何告诉我的代码使用此证书?

【问题讨论】:

    标签: .net azure azure-devops certificate azure-keyvault


    【解决方案1】:

    在谷歌搜索了一些特定的搜索短语后,我找到了这篇文章:https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate-in-code,它现在似乎可以工作了。

    我只是在我的应用程序设置中添加了 WEBSITE_LOAD_CERTIFICATES 作为参数并将其设置为“*”以加载所有证书,然后根据定价层将证书放置在证书存储中:

    隔离层 - 在本地计算机\我的。 所有其他层 - 在 Current User\My 中。

    然后可以以正常方式使用指纹。

    【讨论】:

    • 嗨 PalBo,感谢您的分享,请mark your reply as self-answer,这将有助于其他社区成员更轻松地搜索此有用信息,这只是一个提醒 :)
    猜你喜欢
    • 2020-10-19
    • 2022-01-18
    • 1970-01-01
    • 2020-06-26
    • 2021-08-25
    • 1970-01-01
    • 2017-01-05
    • 2016-10-13
    • 1970-01-01
    相关资源
    最近更新 更多