信任来自IIS的自签名证书

时间:2017-10-09 08:02:55

标签: iis certificate ssl-certificate iis-8

我有一个外部托管的iis网络服务器,我运行我的网站。我想在这个网站上添加一个自签名证书,并在我的本地客户端上信任它,以删除"不安全的连接"来自浏览器。

到目前为止我所做的是以下

  1. 在IIS中创建自签名证书:服务器证书 - >创建自签名证书。证书颁发给服务器名称,例如" ABCD01"
  2. 使用自签名证书创建了一个包含https绑定的网站。
  3. 使用以下方法从IIS导出自签名证书:服务器证书 - >出口。这导致了一个.pfx文件
  4. 在本地客户端上导入.pfx证书文件:管理计算机证书 - >受信任的根证书颁发机构 - >进口
  5. 将主机名(ABCD01)和主机IP添加到hosts文件中:C:\ Windows \ System32 \ drivers \ etc \ hosts
  6. 当我尝试在firefox中打开网站时(使用https://ABCD01),我仍然得到了#34;您的连接不安全"。我错过了什么?

1 个答案:

答案 0 :(得分:8)

有很多问题:

  1. IIS证书生成器使用SHA1签名算法创建自签名证书,该算法在现代浏览器中已过时。您必须使用不同的工具来创建测试证书。例如,使用PowerShell New-SelfSignedCertificate cmdlet,您可以在其中指定签名算法。请看这篇文章以获得一个例子:https://stackoverflow.com/a/45284368/3997611
  2. New-SelfSignedCertificate `
        -DnsName "ABCD01" `
        -CertStoreLocation "cert:\LocalMachine\My" `
        -FriendlyName "test dev cert" `
        -TextExtension "2.5.29.37={text}1.3.6.1.5.5.7.3.1" `
        -KeyUsage DigitalSignature,KeyEncipherment,DataEncipherment `
        -Provider "Microsoft RSA SChannel Cryptographic Provider" `
        -HashAlgorithm "SHA256"
    
    1. IIS证书生成器无法构建具有SAN浏览器所需的SAN(使用者备用名称)证书扩展名的证书。您必须使用不同的工具来创建测试证书。请查看上面的示例以供参考。

    2. Google Chrome使用内置Windows证书存储来建立信任,而FireFox则使用自己的证书存储。因此,在将证书添加到Windows证书库后,您必须手动将测试证书导入FireFox。