1

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

4

1 回答 1

0

据我所知,我们无权在 Azure Trusted Root Store for WebApp 中安装第三方服务器的 ssl 证书。

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

如果服务器支持使用个人商店的 SSL 连接,我建议您可以尝试在 azure 门户中进行设置。

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

1.上传证书:

在此处输入图像描述

2.复制指纹。

在此处输入图像描述

3.在应用程序设置中添加指纹以在网站运行时加载证书。

在此处输入图像描述

4.在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);
    }

结果:

在此处输入图像描述

于 2017-06-12T05:46:10.287 回答