从C#Azure函数内访问证书
问题描述:
我需要从Azure函数访问证书。从C#Azure函数内访问证书
我按照Runtime error loading certificate in Azure Functions中列出的步骤操作,但没有解决。
private static X509Certificate2 GetCertificate(string thumbprint, TraceWriter log)
{
X509Store store = new X509Store(StoreName.My, StoreLocation.CurrentUser);
try
{
store.Open(OpenFlags.ReadOnly);
log.Info("Enumerating certificates");
foreach (var cert in store.Certificates) {
log.Info(cert.Subject);
}
var col = store.Certificates.Find(X509FindType.FindByThumbprint, thumbprint, false);
if (col == null || col.Count == 0)
{
return null;
}
return col[0];
}
finally
{
store.Close();
}
}
两个证书,其中上传到天青功能并加入设定WEBSITE_LOAD_CERTIFICATES以及和设置为*或以所需的证书的thumpbrint,但没有效果。
GetCertificate方法应打印商店中所有证书的列表,但商店为空。
关于如何解决这个问题的任何线索?
您是否尝试过为webjobs搜索类似的问题?因为解决方案将是相同的 – 4c74356b41
是的。他们都建议上述链接中概述的方法应该可行。但事实并非如此。 –
当我使用Azure访问证书时,我总是使用StoreLocation.LocalMachine。我没有在函数中尝试过,但是在其他WebApps和CloudService中,它与LocalMachine一起工作 – dave000