代码之家  ›  专栏  ›  技术社区  ›  Thomas Schneiter

信任来自IIS的自签名证书

  •  12
  • Thomas Schneiter  · 技术社区  · 7 年前

    到目前为止,我做了以下工作

    1. 在IIS中创建了自签名证书:服务器证书->创建自签名证书。证书颁发给服务器名,例如“ABCD01”
    2. 使用自签名证书创建了具有https绑定的网站。
    3. 已导入。本地客户端上的pfx证书文件:管理计算机证书->受信任的根证书颁发机构->进口
    4. 将主机的主机名(ABCD01)和ip添加到主机文件:C:\Windows\System32\drivers\etc\hosts

    当我尝试在firefox中打开网站时(使用 https://ABCD01 ),我仍然收到“您的连接不安全”。我错过了什么?

    1 回复  |  直到 7 年前
        1
  •  21
  •   Crypt32    7 年前

    存在多个问题:

    1. IIS证书生成器使用现代浏览器中过时的SHA1签名算法创建自签名证书。您必须使用不同的工具来创建测试证书。例如,使用PowerShell New-SelfSignedCertificate 可以指定签名算法的cmdlet。请看这篇文章以获取示例: https://stackoverflow.com/a/45284368/3997611
    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证书生成器无法使用Google Chrome中所需的SAN(主题替代名称)证书扩展构建证书。您必须使用不同的工具来创建测试证书。请看上面的示例以供参考。

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