环境

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

最后修改:2021 年 12 月 12 日 03 : 27 PM
如果觉得文章帮助了您,您可以随意赞赏。