azure - 在 Azure Web 应用程序上找不到证书

标签 azure ssl azure-web-app-service

我将 Web 应用程序部署为 Azure 应用服务上的 Web 应用程序。 我将一些证书上传到 Azure 门户,因为 Web 应用程序通过 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 流量以外的目的,您需要云服务,并且(我认为)应用程序服务不支持它?

最佳答案

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

enter image description here

应用此更改后,您应该能够从网络应用代码中加载证书。

有关如何使用证书的更多信息,请访问 here 。这篇文章有点过时(以今天的标准来看),但仍然具有相关性。

关于azure - 在 Azure Web 应用程序上找不到证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37457686/

相关文章:

azure - 将 Azure Blob block 上传限制从 32 MB 提高

asp.net - 限制对非生产环境的访问(Azure 应用服务)

azure - 容器的 WebApp 正在尝试从错误的容器注册表中提取

java - RestEasy 的客户端实现导致 javax.net.ssl.SSLException : hostname in certificate didn't match

iis - Azure 网站上的 503 错误(服务不可用)

azure - 在 Docker Hub 上发布 .Net Core Web 应用程序时出错

sql-server - Azure SQL 数据库 : bacpac Import Error occurs on azure portal

asp.net-mvc-4 - 在暂存 Azure Web 角色中创建子域

security - 去中心化电商网站,SSL/安全怎么办?

php - 如何在不使用 SSL 的情况下保护 POST 方法?