如何用OpenSSL生成Chrome信任、适配Nginx站点的自签名证书
问题排查及解决方法
核心问题共3处:
- 混用根CA证书和站点证书:你当前生成的证书同时配置了
CA:TRUE(CA属性)和服务端认证属性,且直接将该证书同时作为信任根和站点证书使用,Chrome高版本禁止终端实体证书具备CA属性,也不允许CA证书直接作为站点证书使用。 - 根CA的keyUsage配置错误:作为信任根的CA证书必须包含
keyCertSign和cRLSign用途,你当前配置的keyUsage是站点证书所需的用途,不符合CA证书的规范,Chrome因此不认可该证书为合法根证书。 - 证书有效期超过Chrome限制:Chrome要求TLS证书的最大有效期不能超过398天,你设置的10500天远超出限制,也会触发无效报错。
正确操作步骤
1. 生成独立的根CA证书
首先创建根CA配置文件ca.cnf:
[req] default_bits = 2048 default_md = sha256 distinguished_name = req_distinguished_name x509_extensions = x509_ca prompt = no [req_distinguished_name] C = PT ST = MD L = Funchal O = luisabreu CN = Luis Test Local CA [x509_ca] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid:always,issuer basicConstraints = critical, CA:TRUE, pathlen:0 keyUsage = critical, keyCertSign, cRLSign
执行命令生成根CA的密钥和证书:
openssl req -config ca.cnf -new -x509 -sha256 -newkey rsa:2048 -nodes -keyout ca.key -out ca.crt -days 3650
将生成的ca.crt导入Chrome的「受信任的根证书颁发机构」存储中,也可同步导入系统CA存储。
2. 生成并签发站点证书
创建站点证书配置文件server.cnf:
[req] default_bits = 2048 default_md = sha256 distinguished_name = req_distinguished_name req_extensions = req_ext prompt = no [req_distinguished_name] C = PT ST = MD L = Funchal O = luisabreu CN = testing.pt [req_ext] subjectAltName = @alt_names [alt_names] DNS.1 = localhost DNS.2 = testing.pt IP.1 = 10.50.150.130 [x509_server] subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer basicConstraints = critical, CA:FALSE keyUsage = critical, keyEncipherment, digitalSignature extendedKeyUsage = critical, serverAuth, clientAuth subjectAltName = @alt_names
首先生成站点证书的签发请求:
openssl req -config server.cnf -new -newkey rsa:2048 -nodes -keyout ssl.key -out server.csr
用根CA签发站点证书,有效期设为365天(符合Chrome限制):
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out ssl.crt -days 365 -sha256 -extfile server.cnf -extensions x509_server
3. 更新Nginx配置
将签发好的ssl.crt和ssl.key放到对应的Nginx配置路径:
sudo cp ssl.crt /etc/ssl/certs/ sudo cp ssl.key /etc/ssl/private/
重载Nginx配置即可:
sudo nginx -s reload
内容的提问来源于stack exchange,提问作者Luis Abreu
相关产品推荐
相关产品推荐

