环境
Windows Server 2012R2
林功能 2012R2
域功能 2012R2
AD CS 企业CA 证书颁发机构 版本 6.3
CentOS Linux release 7.9.2009 (Core)
openssl 1:1.0.2k
nginx 1.16.1
描述
使用 Windows Server AD CS 自建 CA 后,签发 Web 服务器 SSL 证书,csr 文件由 Openssl 生成。
将 SSL 证书上传并部署到网站。
本机 PC 下载并导入企业CA根证书到受信任的根证书颁发机构。
本机 PC 浏览对应网站,结果 Chrome 浏览器仍然提示证书错误。
检查 Chrome F12 安全,安全性概况,发现错误提示:证书 - 缺少 Subject Alternative Name。
解决
因为 Openssl 的默认配置文件未包括 Subject Alternative Name。
复制 openssl 的默认配置文件到当前目录编辑。
cp /etc/pki/tls/openssl.cnf ./myopenssl.cnf
vim myopenssl.cnf
修改内容如下:
req_extensions = v3_req # 取消此行注释
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names # 添加
[ alt_names ] # 添加
DNS.1 = *.yudelei.com # 添加 此处示例 泛域
DNS.2 = yudelei.com # 添加 此处示例 根域
使用如下命令生成 私钥 privkey.pem 和 CSR 文件 server.csr,提示输入请参考:
openssl req -new -newkey rsa:2048 -nodes -keyout privkey.pem -out server.csr -config myopenssl.cnf
再将 csr 提交给 AD CS 颁发 Web 服务器 证书,将颁发后的 cer 文件,部署到 nginx 即可。
参考
www.golinuxcloud.com/openssl-subject-alternative-name/
blog.csdn.net/weixin_34387468/article/details/91855502