最近,Chrome已经停止使用我自己签名的SSL证书,并认为它们不安全。当我查看DevTools|Security
选项卡中的证书时,我可以看到它说
主题备选名称缺少此站点的证书不包含包含域名或IP地址的主题备选名称扩展名。
证书错误站点的证书链存在问题(net::ERR\u CERT\u COMMON\u NAME\u无效)。
我怎样才能解决这个问题?
正如其他人所提到的,由于生成的证书不包括SAN(subjectAltName
)字段,因此出现了NET::ERR\u CERT\u COMMON\u NAME\u INVALID
错误。
自2000年5月以来,RFC2818已不建议回到通用名称
字段。自版本58以来,Chrome强制使用subjectAltName
字段(请参阅Chrome58弃用)。
OpenSSL接受x509v3配置文件,以向证书添加扩展配置(有关配置选项,请参阅subjectAltName字段)。
我创建了一个带有简单选项的自签名tls bash脚本,以便轻松生成证书颁发机构并使用OpenSSL签名x509证书(在Chrome使用subjectAltName
字段有效)。
脚本将引导您完成一系列问题,包括必要的信息(包括subjectAltName
字段)。你可以参考自述。md了解更多详细信息和自动化选项。
请务必在安装新证书后重新启动chrome。
chrome://restart
以下解决方案在chrome 65上对我有效(参考)-
创建OpenSSL配置文件(示例:req.cnf)
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = US
ST = VA
L = SomeCity
O = MyCompany
OU = MyDivision
CN = www.company.com
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.company.com
DNS.2 = company.com
DNS.3 = company.net
创建引用此配置文件的证书
openssl req -x509 -nodes -days 730 -newkey rsa:2048 \
-keyout cert.key -out cert.pem -config req.cnf -sha256
要解决这个问题,基本上需要在创建证书时向openssl
提供一个额外的参数
-sha256-extfile v3。分机
其中v3。ext
是一个类似这样的文件,%%DOMAIN%%
替换为与通用名相同的名称。更多信息在这里和这里。请注意,通常您会将
公共名称
和%%DOMAIN%%
设置为您试图为其生成证书的域。如果是www.mysupersite。com
,那么您可以同时使用它。
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = %%DOMAIN%%
另一个注意事项:如果您要做的只是阻止chrome在查看自签名证书时抛出错误,那么您可以告诉chrome忽略所有站点的所有SSL错误,方法是使用一个特殊的命令行选项启动它,如SuperUser中所述
如果我使用OpenSSL创建一个X509证书,该证书使用CA证书签名,并包括X509v3 SAN(主题替代名称)扩展,则生成的证书包含两次SAN扩展,而如果证书是自签名的,则SAN扩展仅出现一次(我会认为正确)。 复制步骤: 之后,如果我输入证书,“X509v3受试者替代名称”部分将打印两次: 如果未使用CA且证书通过以下方式进行自签名,则情况并非如此: 我可以使用OpenSSL 1.0.2n以及
我最近升级了Inteliij IDEA 2019.2,如果我尝试从IDE中提取Git,我会发现以下错误:无法访问'https://github.xxx.com/app-Hello-USD/DGS.git/“:SSL证书问题:证书链中的自签名证书。 有人能帮我什么选项,我必须启用。 谢谢
并检查证书,有效期为5天。 我需要写一个脚本,它将只是检查这个证书的过期日期,但不幸的是,它不能验证它。你能不能换个正确的流量? 我的程序:
我已经通过终端在远程ubuntu机器中逐一使用以下命令生成了一个SSL自签名证书: T我已经将添加到本地计算机的cacerts中,使用命令提示符中的keytool作为admin。还将添加到“受信任的根证书颁发机构”中。他发出对Postman上的远程ubuntu机器服务器的HTTPS请求可以正常工作,但在IntelliJ上就不行了,我可以放心地得到:
我有一个带有这些命令的自签名证书链,并在Apache服务器上配置了它们 但是当我尝试 我从openssl中得到一个错误 用于生成证书的命令或配置文件有问题吗? [req] distinguished_name=req_distinguished_name x509_extensions=v3_ca dirstring_type=nobmp [req_distinguished_name] comm
问题内容: 当尝试使用其PHP库通过Twilio发送消息时,我正在为这个错误而苦苦挣扎: 我在Windows 7上使用了wamp。 我当然找到了所有其他有关证书错误的信息。据我所知,通常更新或添加文件即可解决该问题。但是,即使这样做,我仍然遇到相同的错误。 就像这里所做的健全性检查一样,这正是我所做的: 从此处下载了最新的证书:http : //curl.haxx.se/ca/cacert.pem