在管道中使用来自 Azure 密钥保管库的证书

Using certificate from Azure key vault in pipeline

我有一个包含证书的密钥库。在 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 设置中:

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

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

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

隔离层 - 在本地 Machine\My。 所有其他等级 - 当前 User\My.

指纹可以正常使用了。