我的Azure网络角色中安装了GoDaddy SSL证书。它适用于大多数客户,但有些客户抱怨证书“不受信任”。特别是,我有一个Azure Scheduler作业连接到我的Web角色定期POST到https端点,但POST失败。经过一番调查后发现POST失败了,因为SSL证书“不可信任”。
我的SSL证书未完全正确连接的事实也通过使用此工具检查我的域来验证:
据我所知,许多客户端(Web浏览器)都有GoDaddy证书链(即从我的SSL证书到GoDaddy根CA的“中间”证书)。但是某些客户端(例如Azure Scheduler)希望我的Web服务器不仅提供我的SSL证书,还提供直到根CA的所有中间证书。
如何在Azure网络角色中包含中间证书?
注意:我问这个问题的目的是为了自己回答这个问题(现在我已经挣扎了一个星期来解决它)。
答案 0 :(得分:4)
答案概述
您需要手动将中间证书添加到Web角色“证书”(在Visual Studio中),并且需要将中间证书上载到Azure Web角色。
第1步:将p7b文件转换为pfx以上传到Azure
此步骤源自this article。
Local computer/Intermediate Certifcation Authorities/Certificates
节点。Personal/Certificates
节点中找到您的SSL证书,右键单击,然后选择所有任务... /导出。告诉向导导出私钥,并在路径和所有扩展属性中包含所有证书。步骤2:将证书上载到Azure Web角色
将您在上一步中创建的pfx文件上载到Azure Web角色中的证书。这会将您的SSL证书和所有中间证书直到根CA 添加到您的Azure Web角色。
步骤3:将证书添加到您的Web角色项目
此步骤源自this article。
Solution/Azure project/Roles/Your web role
),右键单击,然后选择“属性”现在,您需要手动添加新证书(实际上,您只需为每个中间证书添加新证书指纹)。您可以从Azure门户“证书”网页复制并粘贴指纹,或者(通过一些额外的工作)您可以直接从本地Windows证书存储中获取它们。
如果您想在Visual Studio中使用内置的“从我的计算机读取证书”魔术获取指纹,您需要先:
Personal/Certificates
节点同时,回到Visual Studio,每个中间证书:
第4步:发布并测试
呼。因此,现在您已将p7b和crt文件转换为包含SSL证书和GoDaddy证书的pfx文件。您已将证书上载到Azure,并已将它们添加到Visual Studio项目中。
将您的新项目发布到Azure。您可以使用以下任一在线工具测试您网站的SSL:
https://www.sslshopper.com/ssl-checker.html
https://www.digicert.com/help