【问题标题】:SSL certificate in my Azure Web Role is "not trusted"我的 Azure Web 角色中的 SSL 证书“不受信任”
【发布时间】:2018-04-04 15:09:26
【问题描述】:

我的 Azure Web 角色中安装了 GoDaddy SSL 证书。它适用于大多数客户,但有些客户抱怨证书“不受信任”。特别是,我有一个 Azure 调度程序作业以定期 POST 到我的 Web 角色中的 https 端点,但 POST 失败。经过一番调查,结果证明 POST 失败是因为 SSL 证书“不受信任”。

我的 SSL 证书未完全正确连接的事实也可以通过使用此工具检查我的域来验证:

https://www.digicert.com/help

我了解许多客户端(网络浏览器)都内置了 GoDaddy 证书链(即从我的 SSL 证书到 GoDaddy 根 CA 的“中间”证书)。但是一些客户端(例如 Azure 调度程序)希望我的 Web 服务器不仅提供我的 SSL 证书,还提供所有中间证书,直到根 CA。

如何在我的 Azure Web 角色中包含中间证书?

注意:我问这个问题的目的是为了自己回答(现在我已经挣扎了一周才弄清楚)。

【问题讨论】:

    标签: azure ssl https


    【解决方案1】:

    答案概述

    您需要手动将中间证书添加到 Web 角色“证书”(在 Visual Studio 中),并且您需要将中间证书上传到您的 Azure Web 角色。

    第 1 步:将 p7b 文件转换为 pfx 以上传到 Azure

    这一步源自this article

    1. 从 GoDaddy 下载您的证书文件。这将为您提供一个 zip 文件,其中包含一个 crt 文件和一个 p7b 文件。 crt 文件包含您的 SSL 证书,但在您完成 CSR 请求之前它还没有完全烘焙。详情见下文。 p7b 文件包含 GoDaddy 中间证书。
    2. 使用 crt 文件完成 CSR 请求。详情请见this SO answer
    3. 打开 Windows 证书管理器 (certlm.msc)
    4. 将p7b文件导入Local computer/Intermediate Certifcation Authorities/Certificates节点。
    5. 将 SSL 证书及其依赖项导出为 .PFX 文件。如果您使用证书管理器 (certlm.msc) 导出证书,则此步骤有效,但如果您使用 IIS 管理器导出证书,则无效(据我所知)。在 Personal/Certificates 节点中找到您的 SSL 证书,右键单击并选择所有任务.../导出。告诉向导导出私钥,并在路径中包含所有证书和所有扩展属性。

    第 2 步:将证书上传到 Azure Web 角色

    将您在上一步中创建的 pfx 文件上传到您的 Azure Web 角色中的证书。这会将您的 SSL 证书和直到根 CA 的所有中间证书添加到您的 Azure Web 角色。

    第 3 步:将证书添加到您的 Web 角色项目

    这一步大致源自this article

    1. 在 Visual Studio 中,导航到您的 Web 角色 (Solution/Azure project/Roles/Your web role),右键单击并选择属性
    2. 在“属性”窗口中,选择“证书”

    现在,您需要为每个中间证书手动添加一个新证书(实际上,您只是添加一个新证书thumbprint)。您可以从 Azure 门户“证书”网页复制并粘贴指纹,或者(通过一些额外的工作)直接从本地 Windows 证书存储中获取它们。

    如果您想使用 Visual Studio 中内置的“从我的计算机读取证书”魔法获取指纹,您需要首先:

    1. 打开 Windows 证书管理器 (certlm.msc)
    2. 将包含中间证书的 pfx 文件导入Personal/Certificates 节点

    同时,回到 Visual Studio,对于每个中间证书:

    1. 点击“添加证书”,然后
    2. 为中间证书输入一个有意义的名称(该名称仅供您参考;它不用于任何用途)
    3. 将商店名称设置为 CA。
    4. 输入证书指纹。您可以从 Azure 门户中的 Web 角色/证书页面复制并粘贴它,或者,如果您已将证书导入您的个人证书存储(如上所述),您可以通过单击指纹中的省略号来获取它框并选择证书。

    第 4 步:发布和测试

    哇。因此,现在您已将 p7b 和 crt 文件转换为 pfx 文件,其中包含您的 SSL 证书和 GoDaddy 证书。您已将证书上传到 Azure,并将它们添加到您的 Visual Studio 项目中。

    将您的新项目发布到 Azure。您可以使用以下任一在线工具测试您网站的 SSL:

    https://www.sslshopper.com/ssl-checker.html
    https://www.digicert.com/help

    【讨论】:

      猜你喜欢
      • 2015-02-14
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      相关资源
      最近更新 更多