Azure Web App上找不到证书

时间:2016-05-26 10:06:18

标签: azure ssl azure-web-sites azure-web-app-service

我在Azure App Service上将Web应用程序部署为Web App。 我将一些证书上传到Azure门户,因为Web App通过SSL运行,我们使用另一个证书来执行一些解密。

对于后一种情况,我有一个方法(在本地工作正常)来查找证书:

public static X509Certificate2 FindCertificate(KnownCertificate certificate)
    {
        return FindCertificate(StoreName.My, StoreLocation.CurrentUser, X509FindType.FindByThumbprint, certificate.Thumbprint);
    }

但是我收到错误,指出找不到指纹XYZ的证书。虽然,在Azure门户上它存在。 (我上传并导入了它)

我正在使用THIS POST中建议的StoreLocation.CurrentUser,但它仍无效。我使用的是错误的商店还是我错过了什么?

编辑:我已设法远程调试我的WebApp,并使用VisualStudio的ImmediateWindow功能执行此代码

new X509Store(StoreName.CertificateAuthority, StoreLocation.CurrentUser).Certificates.Find(findType, findValue, false).Count;

测试StoreNames和StoreLocations的所有可能组合,但无济于事。

是否可以像陈述here那样,为了使用除https流量以外的目的的证书,您需要一个Cloud Service,而且(我认为)App Services不支持它?

1 个答案:

答案 0 :(得分:12)

您需要将 WEBSITE_LOAD_CERTIFICATES 添加到您的网络应用“应用设置”中。将值设置为“*”或要加载到Web应用程序环境中的证书的指纹。我个人的偏好是将此值设置为“*”,这意味着,加载所有已上载的证书。

enter image description here

应用此更改后,您应该可以从Web应用程序代码中加载证书。

有关如何使用证书的更多信息here。这篇文章有点陈旧(在今天的标准中),但仍然相关。

相关问题