如何在 Azure Trusted Root Store for WebApp 中安装第三方服务器的 ssl 证书?

How to install third party server's ssl certificate in Azure Trusted Root Store for WebApp?

我在 Azure VM 上托管了 Mosquitto 代理(MQTT 服务器)。我正在尝试通过 Azure WebJob 连接到 MQTT 代理。当我使用自签名服务器证书(ssl/tls 连接)从本地计算机连接到代理时,它工作正常,但是当我在 Azure AppService 上托管相同的应用程序时,它给出错误:根据证书验证程序,远程证书无效。我在 Azure 门户上安装了相同的 pfx 证书文件,但我仍然遇到相同的错误。如何在 Azure Trusted Root Store 中安装第三方服务器的 ssl 证书,以便它可以通过 Trusted Root Store 验证证书。

据我所知,我们没有权限在 WebApp 的 Azure 可信根存储中安装第三方服务器的 ssl 证书。

我们只能从当前用户的存储中加载第三方服务器的证书。

如果服务器支持使用个人商店的SSL连接,建议您尝试在azure portal中设置。

更多关于如何在Azure Web应用程序中加载证书的详细信息,您可以参考以下步骤:

1.Upload证书:

2.Copy 指纹。

3.Add 应用程序设置中的 Thumbprint 以在网站 运行.

时加载证书

4.Add 加载证书的 webjobs 函数代码:

X509Store certStore = new X509Store(StoreName.My, StoreLocation.CurrentUser);
    certStore.Open(OpenFlags.ReadOnly);
    X509Certificate2Collection certCollection = certStore.Certificates.Find(
                               X509FindType.FindByThumbprint,
                              "",
                               false);
    // Get the first cert with the thumbprint
    if (certCollection.Count > 0)
    {
        X509Certificate2 cert = certCollection[0];
        // Use certificate
        log.WriteLine(cert.FriendlyName);
    }

结果: