Google chrome 受试者替代名称缺失&;错误\u SSL\u版本\u或\u密码\u不匹配
我跟着做Google chrome 受试者替代名称缺失&;错误\u SSL\u版本\u或\u密码\u不匹配,google-chrome,ssl,openssl,localhost,ssl-certificate,Google Chrome,Ssl,Openssl,Localhost,Ssl Certificate,我跟着做https://localhost:3000/在Chrome和Mac中工作。今天,它突然不起作用了 https://localhost:3000给出的不安全: Subject Alternative Name Missing The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address. 我按照前面的步骤
https://localhost:3000/
在Chrome和Mac中工作。今天,它突然不起作用了
https://localhost:3000
给出的不安全
:
Subject Alternative Name Missing
The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address.
我按照前面的步骤重新信任了此证书,但没有任何帮助。然后我看到了,关于重新制作ssl密钥
所以我做了v3.ext
:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
那么
然而,它又回来了
unknown option -extfile
req [options] <infile >outfile
where options are
-inform arg input format - DER or PEM
-outform arg output format - DER or PEM
... ...
然后,我做到了
openssl req -config example-com.conf -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout example-com.key.pem -days 365 -out example-com.cert.pem
重新打开https://localhost:3000
在Chrome中给我
localhost uses an unsupported protocol.
ERR_SSL_VERSION_OR_CIPHER_MISMATCH
有人能帮忙吗?我建议以下解决方案:创建自签名CA证书和由该CA签名的web服务器证书。当您将此小链安装到web服务器时,它将与Chrome一起工作 为您的CA MyCompanyCA.cnf创建包含内容的配置文件(您可以根据需要进行更改): 为web服务器证书创建扩展配置文件MyCompanyLocalhost.ext:
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = localhost
DNS.2 = mypc.mycompany.com
然后执行以下命令:
openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"
openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes
openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111
因此,您将获得MyCompanyCA.cer、MyCompanyLocalhost.cer和MyCompanyLocalhost.pvk文件,这些文件可以安装到web服务器上
如何在将证书安装到web服务器之前检查它是否与Chrome兼容。在本地PC上执行以下命令以运行web服务器模拟器:
openssl s_server -accept 15000 -cert MyCompanyLocalhost.cer -key MyCompanyLocalhost.pvk -CAfile MyCompanyCA.cer -WWW
然后,您可以在以下位置访问此页面:
您将看到一个错误,即MyCompanyLocalhost.cer不受信任,如果您还想消除此错误,请将MyCompanyCA.cer安装到操作系统的证书受信任列表中。感谢Oleg提供了很好的解决方案。 在我的例子中,URI被指定为IP地址而不是主机名, 最后,我从中得到了解决方案 我编辑@Oleg的MyCompanyLocalhost.ext,从
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = localhost
DNS.2 = mypc.mycompany.com
到
我想这就是你想要的;您可以使用
-config
传入包含配置参数的文件。Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。另请看我的编辑1,我有一个ERR\u SSL\u VERSION\u或\u CIPHER\u不匹配
error…哇,它工作了。。。非常感谢。为了记录,在生成这些文件之后,我在我的www
中更改为var config={key:fs.readFileSync('ssl/MyCompanyLocalhost.pvk'),cert:fs.readFileSync('ssl/MyCompanyLocalhost.cer')}
。Chrome首先给出了ERR\u CERT\u AUTHORITY\u INVALID
错误,然后我通过Keychain Access
将该证书添加到login
,成功了!哇…我按照你的建议做了,在我挣扎了将近5个小时后,它像一个符咒一样奏效了!!谢谢你!花了几个小时寻找答案,但这成功了!真希望我能把它升级一百万次,这是唯一一个对meI有效的解决方案,我可以用OSX上最新的Chrome 65确认这一点。
openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"
openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes
openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111
openssl s_server -accept 15000 -cert MyCompanyLocalhost.cer -key MyCompanyLocalhost.pvk -CAfile MyCompanyCA.cer -WWW
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = localhost
DNS.2 = mypc.mycompany.com
subjectAltName = @alt_names
extendedKeyUsage = serverAuth
[alt_names]
DNS.1 = domain.com
# IP address
IP.1 = 192.168.2.221
IP.2 = 127.0.0.1