信任来自 IIS 的自签名证书
Posted
技术标签:
【中文标题】信任来自 IIS 的自签名证书【英文标题】:Trust a self signed cert from IIS 【发布时间】:2018-03-20 08:52:00 【问题描述】:我有一个外部托管的 iis 网络服务器,我在其中运行我的网站。我想向该网站添加一个自签名证书并在我的本地客户端上信任它,以从浏览器中删除“不安全连接”。
到目前为止我所做的如下
-
在 IIS 中创建了自签名证书:服务器证书 -> 创建自签名证书。证书颁发给服务器名称,例如“ABCD01”
使用自签名证书创建了一个带有 https 绑定的网站。
使用以下方法从 IIS 导出自签名证书:服务器证书 -> 导出。这产生了一个 .pfx 文件
在本地客户端导入 .pfx 证书文件:管理计算机证书 -> 受信任的根证书颁发机构 -> 导入
将主机的主机名(ABCD01)和ip添加到hosts文件:C:\Windows\System32\drivers\etc\hosts
当我尝试在 Firefox 中打开网站(使用 https://ABCD01)时,我仍然收到“您的连接不安全”。我错过了什么?
【问题讨论】:
您使用的是什么浏览器? BTW,PFX中的证书不需要导出,需要导出为.CER
格式,不带私钥。
我使用的是 Firefox 或 Chrome
我写了一篇非常详细的演练,介绍了如何在 Windows 上为 IIS 创建自签名证书。它应该回答您的所有问题,并为您提供测试和调试结果的方法。见***.com/a/51261506/430742
试试这个答案***.com/a/59733055/10794140,我在其中详细描述了如何信任证书。它也适用于 Firefox。
【参考方案1】:
有多个问题:
-
IIS 证书生成器使用现代浏览器中已过时的 SHA1 签名算法创建自签名证书。您必须使用不同的工具来创建测试证书。例如,使用 PowerShell
New-SelfSignedCertificate
cmdlet,您可以在其中指定签名算法。查看此帖子以获取示例:https://***.com/a/45284368/3997611
IIS 证书生成器无法使用 Google Chrome 中所需的 SAN(主题备用名称)证书扩展来构建证书。您必须使用不同的工具来创建测试证书。查看上面的示例以供参考。
Google Chrome 使用内置的 Windows 证书存储来建立信任,而 FireFox 使用自己的证书存储。因此,将证书添加到 Windows 证书存储后,您必须手动将测试证书导入 FireFox。
【讨论】:
感谢您的解释!正如您所解释的,我将证书更改为 SHA256。 Firefox 的问题与您解释的完全一样,即单独的证书存储。它一导入就起作用了。 2019 年任何找到此答案的人的更新:IIS 证书生成器现在使用更安全的 SHA256RSA 算法。你可以去Server Certificates -> Your certificate -> View -> Details
查看你的证书算法。
@Crypt32 如何将 DnsName 设置为 localhost?谢谢以上是关于信任来自 IIS 的自签名证书的主要内容,如果未能解决你的问题,请参考以下文章