在MS Edge中不接受SelfSignedCertificate(Win 10)



为了让Edge信任localhost开发服务器,我按照本教程创建了一个自签名证书。我刚刚用localhost替换了client-1.local的所有实例。

简而言之,我通过创建一个带有命令的.pem文件创建了一个可信的权威机构

openssl genrsa -des3 -out rootSSL.key 2048

然后

openssl req -x509 -new -nodes -key rootSSL.key -sha256 -days 1024 -out rootSSL.pem

并将其导入MMC中的可信机构存储中。

然后我用创建了一个私钥

openssl req -new -sha256 -nodes -out localhost.csr -newkey rsa:2048 -keyout localhost.key -subj "/C=AU/ST=NSW/L=Sydney/O=Client One/OU=Dev/CN=localhost/emailAddress=local@local.com"

以及证书

openssl x509 -req -in localhost.csr -CA rootSSL.pem -CAkey rootSSL.key -CAcreateserial -out localhost.crt -days 50000 -sha256 -extensions "authorityKeyIdentifier=keyid,issuern basicConstraints=CA:FALSEn keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEnciphermentn  subjectAltName=DNA:localhost"

双击证书显示为有效。

对于例外情况,我需要将证书导入浏览器。对于Firefox,我一开始得到错误

You do not own the private key for the certificate

所以我创建了一个PKCS12文件

openssl pkcs12 -export -inkey ./sample.key -in ./sample.crt -out ./sample.p12

并在Firefox中以";我的证书";。这是有效的,我用ng发球主持";ssl/localhost.crt">和带有导入的.p12的Firefox接受我的localhost。现在,对于MS Edge,它仍然抱怨,我的证书无效。

我也尝试过.pfx-合并,但没有改变。我还阅读了证书不应安装在"我的证书"下,而应作为权威机构安装。这听起来不对,但我尝试了一下,并将.crt.p12导入权威以及根权威中,因为为什么不导入,但没有更改。我还通过Windows向导安装了证书。

MS Edge缺少什么?遗憾的是,我没有办法绕过它。

=====更新=====

附加信息:

Edge没有给出任何有用的错误。这是消息的图片。它是德语的,但它所说的只是默认文本";连接不安全。证书无效。您的信用卡信息可能被盗"如果有什么方法可以为Edge获得更多信息,我会非常高兴。在开发者控制台中,消息是:

此网站没有有效的SSL证书!如果没有SSL,您的网站和访问者的数据很容易被窃取和篡改。在向公众发布您的网站之前,请获取有效的SSL证书。

可以在此处查看证书文件和openssl x509 -text localhost.crt的输出(如果需要,密码是pass或password(,并在此处查看.crt的图像。它位于我的开发文件夹中,我用主持网站

ng serve --ssl true --ssl-cert "ssl/localhost.crt" --ssl-key "ssl/localhost.key"

并通过localhost:3000本地访问服务器。

我通过管理证书将.p12文件导入到edge中->我的证书->进口结果是这样的。

MS Edge缺少什么?I

证书不包含任何使用者替代名称,这使其对Edge和Chrome无效。有人试图指定这些信息,但尝试是错误的。

我按照本教程创建了一个自签名证书。

看起来本教程已损坏。

openssl x509-req-"扩展";authorityKeyIdentifier。。。subjectAltName=DNA:localhost";

-extension命令行选项用于提供配置文件中部分的扩展名,而不是扩展名本身。此外,subjectAltName应该是DNS:...而不是DNA:...

要修复此问题,请创建一个包含要使用的扩展名的扩展名文件my.ext

[myext]
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName=DNS:localhost

然后将此文件用作-extfile my.ext的扩展名文件,并指定要与-extensions myext:一起使用的扩展名

openssl x509-req-extfile my.ext-扩展名myext

最新更新