我将 Web 应用程序部署为 Azure 应用服务上的 Web 应用程序。
我将一些证书上传到 Azure 门户,因为 Web 应用程序通过 SSL 运行,并且我们使用另一个证书来执行一些解密。
对于后一种情况,我有一种方法(在本地工作正常)来查找证书:
public static X509Certificate2 FindCertificate(KnownCertificate certificate)
{
return FindCertificate(StoreName.My, StoreLocation.CurrentUser, X509FindType.FindByThumbprint, certificate.Thumbprint);
}
但我收到错误消息,指出未找到带有指纹 XYZ 的证书。不过,它存在于 Azure 门户上。 (我已经上传并导入了)
我正在按照建议使用 StoreLocation.CurrentUser这个帖子 https://stackoverflow.com/questions/23827884/accessing-uploaded-certificates-in-azure-web-sites但它仍然不起作用。我是否使用了错误的商店或者我还缺少什么?
编辑:我已成功远程调试我的 Web 应用程序,并使用 VisualStudio 的立即窗口功能执行了此代码
new X509Store(StoreName.CertificateAuthority, StoreLocation.CurrentUser).Certificates.Find(findType, findValue, false).Count;
测试了 StoreNames 和 StoreLocations 的所有可能组合,但无济于事。
是否有可能像所说的那样here https://stackoverflow.com/questions/23827884/accessing-uploaded-certificates-in-azure-web-sites如果要将证书用于 https 流量以外的目的,您将需要云服务,并且(我认为)应用程序服务不支持它?