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