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

use*_*220 8 windows xampp ssl 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"
Run Code Online (Sandbox Code Playgroud)

如本说明书中所述导出.

要克隆,我使用了本文档中的示例.

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

但我得到的错误代码DLG_FLAGS_INVALID_CA,并 DLG_FLAGS_SEC_CERT_CN_INVALID在边缘和IE浏览器.

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

Ste*_* R. 6

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

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")
Run Code Online (Sandbox Code Playgroud)

'NotAfter'参数将证书延长至20年.'TextExtension'参数仅为"服务器身份验证"配置证书.没有它,它默认为Client Auth + Server Auth.我没有研究,但客户端验证似乎导致的问题(这是奇怪的,因为大多数网上的例子不提它,我只找到一个该做的).

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

为了实际运行该站点,证书需要进入受信任的根证书颁发机构.要做到这一点,您可以导出/导入的证书或导航到IE中的网站,点击红色安全区和工作的方式通过屏幕导入证书.上面的链接显示了导入/导出方法.

最后的说明:

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

HTH