我使用openSSL生成了一个自签名证书,如下: 在我的基于 Ubuntu 的 PC 中。
openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -pubkey -days 365 -subj "/C=NZ/ST=LH/O=SoN, Inc./CN=10.16.1.96" -reqexts Canada -config <(cat /etc/ssl/openssl.cnf <(printf "[Wellington]nsubjectAltName=DNS:10.16.1.96,DNS:10.16.1.96"))
接下来,我在运行Web服务器并使用这些密钥的raspberrypi(10.16.1.96)中复制了私钥和cert.pem。
另外,我已经在我的chrome浏览器中添加了cert.pem-管理证书/颁发机构,我已经导入了这个证书。
但是,我的浏览器抱怨这一点 -
Subject Alternative Name missing
The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address.
Certificate error
There are issues with the site's certificate chain (net::ERR_CERT_COMMON_NAME_INVALID).
如何摆脱此错误?
在命令结束时,您将提供如下主题备用名称:subjectAltName=DNS:10.16.1.96,DNS:10.16.1.96"
.
问题是您使用的是dNSName
类型的 SAN(在 OpenSSL 配置中DNS:
),但您使用的是 IP 地址,因此在这种情况下您需要iPAddress
类型的 SAN(请参阅此答案有关规范的更多详细信息)。
将命令更改为使用subjectAltName=IP:10.16.1.96,IP:10.16.1.96"
应该可以修复它。