创建自签名证书以测试localhost并让浏览器接受它

时间:2017-07-08 16:09:42

标签: windows ssl xampp localhost self-signed

我已经尝试了几周,以便在多个浏览器(Chrome,Firefox,Edge,IE)中使用这个自签名证书。

我设法创建证书并将其安装为trusted root certificate,但在每个浏览器中我都必须绕过安全性才能拥有测​​试环境(带xampp的网站)。

今天我专注于Edge和IE(没有成功),由于chrome的程序略有不同,我明天会尝试使用chrome。

我尝试创建一个新的,并以这种方式复制旧的(工作的):

要创建新证书,请以管理员身份打开powershell,然后:

New-SelfSignedCertificate -DnsName "127.0.0.1", "localhost" -CertStoreLocation "cert:\LocalMachine\My"

按照description中提到的方式导出。

要克隆,我使用了此documentation中的示例。

然后我使用certlm.msc在“受信任的根证书”中导入证书。

但是我收到了错误代码DLG_FLAGS_INVALID_CA和 Edge和IE中的DLG_FLAGS_SEC_CERT_CN_INVALID

有人知道让这项工作的程序吗? 我一直在寻找网络而没有找到它。

2 个答案:

答案 0 :(得分:5)

我试图做类似的事情,并确实让以下工作:

New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname localhost -FriendlyName "Dev localhost" -NotAfter (Get-Date).AddMonths(240) -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1")

' NotAfter' param将证书延长至20年。 ' TextExtension' param为“服务器身份验证”配置证书。只要。没有它,它默认为Client Auth + Server Auth。我还没有研究过,但客户端Auth似乎引起了一个问题(这很奇怪,因为大多数在线示例都没有提到它;我只找到了one

这将在LocalComputer \ Personal&中创建证书。 LocalComputer \ Intermediate Certification Authority。它还允许您在IIS中选择证书。

为了实际运行该站点,证书需要进入受信任的根证书颁发机构。要实现此目的,您可以导出/导入证书或导航到IE中的站点,单击红色安全区域并按照屏幕方式导入证书。上面的链接显示了导入/导出方法。

最后的说明:

  • 我不得不关闭/重新打开IE(11.726.15063)以获得安全提示消失,尽管IE告诉我证书已安装。
  • 在IE中清除安全警告后,我的网站在chrome(62)中工作正常。
  • 我的网站使用localhost和非标准端口,而不是DNS名称。一切似乎都很好。

HTH

答案 1 :(得分:-5)

代码错误代码:DLG_FLAGS_INVALID_CA非常糟糕,用户甚至不知道他们为什么会看到DLG_FLAGS_INVALID_CA错误代码。出现这种情况的原因有以下几点:

  1. 未正确安装网站证书时。
  2. 当网站证书过期或管理员未续订时。
  3. 您访问的网站可能遭到入侵或网站遭到恶意重定向。 我得到https://geekermag.com/error-code-dlg_flags_invalid_ca/这个网站的大力帮助来解决这个问题。此页面上的信息非常有用。该页面提供了错误的完整说明和解决问题的解决方案。