我从Network Solutions网站购买了SSL证书。我收到了4个.crt文件。我相信其中三个是中间证书,第四个是我的网站域名的实际证书。
我尝试使用DigiCert实用程序导入实际证书。它在三个中间文件上出错。它允许我导入域证书并导出PFX文件但在浏览器中抛出警告 - 没有提供发行者链。
我使用运行Windows Server 2008 R2的域控制器导入MMC中的中间证书颁发机构,然后使用域证书导入IIS完成证书申请。证书的证书路径现在看起来正常,但PFX文件的MMC证书导出向导选项显示为灰色 - 禁用。
我使用“MMC证书模板”管理单元创建了“Web服务器”模板的副本,其中包含“请求处理”设置“允许导出私钥”。在IIS中完成证书申请时似乎不使用此模板,因为仍禁用PFX导出。完整证书申请不提供选择使用的证书模板。
我尝试使用证书详细信息,复制到文件选择P7B并在证书路径中包含所有证书。完成向导显示导出键设置为否,无法更改它。保存文件,然后双击打开它允许导出,但再次禁用PFX选项。
我失踪的那块拼图是什么?
答案 0 :(得分:2)
您遇到的问题是网络解决方案发布的实际SSL证书。我曾与微软合作过一段时间,但Network Solutions拒绝相信这是一个问题。
Azure网站在向客户端颁发证书链时依赖于AIA(授权信息访问)属性。在Network Solutions发布的新SHA-2证书中,这是AIA元素中的值
[1]授权信息访问 访问方法=证书颁发机构颁发者(1.3.6.1.5.5.7.48.2) 备用名称: URL = http://crt.netsolssl.com/NetworkSolutionsOVServerCA2.crt [2]授权信息访问 访问方法=在线证书状态协议(1.3.6.1.5.5.7.48.1) 备用名称: URL = http://ocsp.netsolssl.com
如果您注意到第一个元素的URL,则应该指向链中的第一个中间证书。但是,该url会抛出404.相反,这是来自其旧版SHA-1证书的AIA值
[1]授权信息访问 访问方法=证书颁发机构颁发者(1.3.6.1.5.5.7.48.2) 备用名称: URL = http://www.netsolssl.com/NetworkSolutions_CA.crt [2]授权信息访问 访问方法=在线证书状态协议(1.3.6.1.5.5.7.48.1) 备用名称: URL = http://ocsp.netsolssl.com
此URL有效,因此,您的客户可以成功加载证书链。
因此唯一的解决方案是网络解决方案将NetworkSolutionsOVServerCA2.crt文件放在其证书所在的位置。我已经使用NetSol打开了许多技术支持票据,并尝试通过其他一些方式传达此问题意味着,但永远不会找到承认问题的人,或者愿意将其链接到具有足够专业知识来解决问题的人。
答案 1 :(得分:0)
我的证书商店里有些东西搞砸了。我使用MMC删除所有相关的证书请求,中间证书和完成的证书。然后我创建了一个新的证书请求,并从Network Solutions重新发行。然后我使用MMC将中间.crt文件导入中级证书颁发机构。然后我使用IIS来完成证书申请。然后我终于能够使用是导出MMC个人证书,导出私钥和个人信息交换,如果可能,包括证书路径中的所有证书和导出所有扩展属性。唉,Azure网站仍然报告没有提供发行者链,即使从上传到Azure的PFX文件中导出的OpenSSL PEM文件清楚地显示了链中的四个证书!现在我对Azure感到不满,但这是另一个话题。我的投票显然与那个人说:“过度工程师!它不一定是这个复杂的!”。 Sheesh,他们在想什么?