我有一个包含证书的密钥库。在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设置中:
问题仍然存在,如何告诉我的代码使用此证书?
答案 0 :(得分:0)
在谷歌搜索了一些特定的搜索短语之后,我发现了这篇文章:https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate-in-code,它现在似乎可以正常工作。
我只是在应用程序设置中添加了WEBSITE_LOAD_CERTIFICATES作为参数,并将其设置为“ *”以加载所有证书,然后根据定价层将证书放置在证书存储中:
隔离层-在“本地计算机\我的”中。 所有其他层-在“当前用户\我的”中。
然后可以正常方式使用指纹。