如何在Chrome将信任的本地Windows虚拟主机开发计算机上创建/安装自签名SSL证书?

时间:2017-05-25 17:33:00

标签: google-chrome ssl ssl-certificate

正如标题所说。我开始将服务工作者添加到站点,为了工作,他们需要有效的SSL证书。我已经让我的本地开发服务器通过https提供自签名证书了一段时间,尽管Chrome提供了“不安全”#34;直到现在我才忽略的信息。我在这里看到了很多类似的问题(使用localhost),但没有任何东西符合我的确切设置(使用localhost上的虚拟主机),而且我尝试过的任何东西都没有用。

我将描述我的设置:

  • 这适用于本地开发机器。我不需要任何超级安全的东西。我只需要Chrome就可以信任它。
  • 我的开发堆栈是Windows 10上的Apache(运行PHP和ColdFusion)。
  • 我在本地设置了多个站点(127.0.0.1)与Apache虚拟主机,例如:
  • 要使用https处理每个人,我使用Shining Light Productions的Win64 OpenSSL v.1.1.0e安装程序,并在我的Apache httpd-vhosts.conf中为每个域设置证书。
  • 我使用以下创建我的证书: openssl req –x509 –nodes -sha256 –days 3650 –newkey rsa:2048 –keyout michael.domain1.key –out michael.domain1.crt -subj "/C=US/ST=Michigan/L=SomeCity/O=CompanyName/OU=Dev/CN=michael.domain1.com"
  • 我打开了我的虚拟主机正在使用的.crt文件,并将其安装到Windows受信任的根证书颁发机构。
  • (所有这一切直到这一点都运行正常。我可以通过https://michael.domain1.com访问该网站,但我看到Chrome"不安全"消息。)

在Chrome开发者工具安全性标签中,我有两个错误:

  • 主题备用名称缺失:此站点的证书不包含包含域名或IP地址的主题备用名称扩展名。
    • 如何添加此内容?但是对于我的设置,我对该值使用了什么?它应该是michael.domain1.com吗?
  • 证书错误:网站的证书链存在问题(net :: ERR_CERT_COMMON_NAME_INVALID)。
    • michael.domain1.com不是正确的价值吗?我是否使用上面的openssl命令将其添加到正确的位置?

谢谢。

1 个答案:

答案 0 :(得分:0)

我终于明白了!这个somewhat buried comment by Drakes帮助我使用.sh文件生成正确的证书文件。我不确定到底是什么对我有什么影响,但我最终得到的命名文件略有不同。我现在有michael.domain1.com.cer而不是michael.domain1.cer。新的证书文件修复了Chrome Dev Tools安全选项卡中的主题备用名称缺失和ERR_CERT_COMMON_NAME_INVALID错误,但我确实有一个新的错误,即它是一个不受信任的权限。然后,我使用Windows和Chrome本身将相同的文件以不同的方式导入受信任的根权限(您可以在设置>高级>经理证书>导入下)从Chrome导入它们。在我最后一次重新启动Apache并关闭并重新打开Chrome后,一切正常。