当 Firefox 正常运行时,Chrome 会显示 ERR_CERT_COMMON_NAME_INVALID

当 Firefox 正常运行时,Chrome 会显示 ERR_CERT_COMMON_NAME_INVALID

学习如何使用证书,也许会有本地 CA 服务器。我有带 BMC 的服务器,所以我用它来练习。生成 CA 对,然后是主机对,然后使用 CA 对签名主机 CSR 以获取主机 crt。我将 CA crt 上传到 chrome 受信任密钥存储库,并将主机对上传到 BMC。现在当我转到服务器时,我可以看到 BMC 返回正确的 crt,但 chrome 显示连接不安全。原因是 ERR_CERT_COMMON_NAME_INVALID。但是,当我单击“证书无效”时,我可以看到两个密钥和签名证书都显示为“此证书正常”。url 中使用的 DNS 名称 = COMMON 名称。同时,对于 Firefox 没有问题,我的证书很好。可能出了什么问题?

使用以下序列:#CA PRIVATE

openssl genrsa -out CAKEY.pem 2048

#CA CERTIFICATE(用于浏览器)。通用名称:ca.mydomain.com

openssl req -x509 -sha256 -new -nodes -key CAKEY.pem -days 3650 -out CACERT.pem -addext "subjectAltName = DNS:ca.mydomain.com"

#HOST KEY(已上传至 BMC),我需要关闭此处的密码保护,BMC 不喜欢密码

openssl genrsa -out HOSTKEY.pem 2048

#HOST CSR。通用名称:host1.mydomain.com

openssl req -new -key HOSTKEY.pem -out HOSTCSR.pem -addext "subjectAltName = DNS:host1.mydomain.com"

#SIGN(已上传至 BMC)

openssl x509 -req -CA CACERT.pem -CAkey CAKEY.pem -in  HOSTCSR.pem -out HOSTCRT.PEM -days 3650 -CAcreateserial

答案1

在 1.1.1 及更早版本中,OpenSSL 的x509命令不会将扩展从 CSR 文件复制到签名的证书中。

最新版本有一个-copy_extensions <arg>选项,其中 ` 可以是没有任何复制或者全部复制

您在 Chrome 中收到此消息,是因为您的证书尚未复制主题备用名称 (SAN) 扩展,因此它会发出抱怨。我相信,如果不存在主题备用名称扩展,Firefox 会保留主题的 CommonName 的使用权,这就是它不会发出抱怨的原因。

x509您可以通过将命令指向另一个带有-extfile <file>和选项的配置文件来解决此问题-extensions <section>。该文件<file>只需要有一个命名部分,其中包含您要添加到证书的扩展名:

[ my_ext ]
subjectKeyIdentifier    = hash
authorityKeyIdentifier  = keyid:always
keyUsage = critical, digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = host1.mydomain.com

相关内容