使用openssl为ssl证书增加“使用者备用名称(DNS)”

本文介绍了如何为SSL证书添加使用者备用名称,以实现不同域名的证书通用。通过修改openssl.cnf配置文件,生成证书签名请求,并使用自签署的CA签署证书,从而在nginx服务器中实现双向认证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在逛淘宝时,发现淘宝的 https SSL证书的使用者是 *.tmall.com,但是淘宝是 www.taobao.com,域名不一样,竟然还是绿色的(taobao.com域名能使用tmall.com的SSL证书?),顿时感到很奇怪,于是查看了其 SSL 证书的详细信息发现原来是这样的:SSL证书支持配置多个使用者备用名称(见下图红色区域):

135541_uH8u_59889.png

于是到网上搜了下

<think>好的,我现在需要帮助用户在CentOS上配置CA服务器,生成和管理SSL证书及吊销列表,并设置Apache支持HTTPS。这个问题涉及多个步骤,我需要仔细分解每个部分,确保正确性。 首先,用户要求配置CA服务器。根据引用中的信息,可能需要使用OpenSSL工具。引用[2]提到创建索引文件和序列号文件,例如touch /etc/pki/CA/index.txt和echo 01 > /etc/pki/CA/serial。这些步骤是初始化CA数据库的关键,必须正确设置。同时,生成私钥的时候要注意权限,使用umask 077保证私钥安全。用户需要4096位的密钥,所以openssl genrsa命令需要指定参数。 然后是生成根证书。根证书需要自签名,这里用户希望使用SHA256算法。引用[2]中的命令openssl req -new -x509生成自签名证书,但需要调整哈希算法为-sha256。同时,确保-subj参数正确设置主题信息,避免交互式输入。 接下来是为主机颁发SSL证书,有效期为3年。这部分需要用户生成CSR,然后由CA签名。根据引用[3],生成CSR可能需要使用keytool或者openssl req -new。但用户场景中使用的是OpenSSL,所以应该用openssl req命令。然后使用CA的私钥签名,注意有效期参数-days 1095(3年),并指定-extensions和-extfile来设置扩展,比如主题备用名称(SAN)。 创建吊销列表方面,需要先吊销证书,然后生成CRL。引用中提到使用openssl ca -revoke和openssl ca -gencrl命令。需要确认CA的配置文件是否正确设置crl_extensions,并指定输出文件。 设置Apache的HTTPS服务需要安装mod_ssl,配置SSL虚拟主机,指定生成的证书和私钥路径。同时,用户需要提供证书下载,这可能需要在Apache的文档根目录下创建链接或放置证书文件,并设置相应的访问权限。 需要注意的潜在问题包括:文件权限是否正确,特别是私钥文件;配置文件中的路径是否准确;证书扩展是否正确包含SAN等信息;以及是否重启Apache服务使配置生效。 现在需要验证每个步骤的命令是否正确,特别是参数部分,如密钥长度、哈希算法、有效期等。例如,生成根证书时是否使用了SHA256,密钥是否是4096位,颁发证书的有效期是否正确设置为3年,吊销列表的生成步骤是否完整。 可能还需要指导用户检查OpenSSL的配置文件(如/etc/pki/tls/openssl.cnf),确保CA相关的路径设置正确,比如dir = /etc/pki/CA,这样后续命令才能正确找到index.txt和serial文件。 最后,在Apache配置中,要确保SSL引擎启用,正确指向2025sdts.crt和2025sdts.key,以及调整防火墙设置允许HTTPS流量。如果用户遇到问题,可能需要检查日志文件,如/var/log/httpd/ssl_error_log进行故障排除。</think>### 分步配置指南 #### 一、初始化CA服务器环境 1. **安装依赖包** ```bash yum install openssl httpd mod_ssl -y ``` 2. **创建CA目录结构** ```bash mkdir -p /etc/pki/CA/{private,certs,crl,newcerts} touch /etc/pki/CA/index.txt echo 01 > /etc/pki/CA/serial ``` *索引文件记录证书状态,序列号文件确保证书唯一性[^2]* --- #### 二、生成CA根证书 1. **生成4096位CA私钥** ```bash (umask 077; openssl genrsa -out /etc/pki/CA/private/Ca_key.pem 4096) ``` 2. **生成自签名根证书** ```bash openssl req -new -x509 -sha256 -days 3650 \ -key /etc/pki/CA/private/Ca_key.pem \ -out /etc/pki/CA/certs/Ca_crt.pem \ -subj "/C=CN/ST=Beijing/L=Beijing/O=2025SDTS/OU=IT/CN=ca.2025sdts.com" ``` *`-sha256`指定哈希算法,`-days 3650`设置10年有效期[^1]* --- #### 三、颁发主机SSL证书 1. **生成主机私钥与CSR** ```bash openssl genrsa -out /etc/pki/tls/private/2025sdts.key 4096 openssl req -new -sha256 \ -key /etc/pki/tls/private/2025sdts.key \ -out /etc/pki/tls/2025sdts.csr \ -subj "/CN=2025sdts.com" ``` 2. **创建扩展配置文件** ```bash echo "subjectAltName = DNS:2025sdts.com" > /etc/pki/tls/openssl-ext.cnf ``` 3. **签署证书** ```bash openssl ca -days 1095 -md sha256 \ -in /etc/pki/tls/2025sdts.csr \ -out /etc/pki/tls/certs/2025sdts.crt \ -extfile /etc/pki/tls/openssl-ext.cnf \ -policy policy_anything ``` *`-days 1095`对应3年有效期,`-extfile`添加SAN扩展[^3]* --- #### 四、管理证书吊销列表(CRL) 1. **吊销证书(如需)** ```bash openssl ca -revoke /etc/pki/CA/newcerts/01.pem ``` 2. **生成CRL文件** ```bash openssl ca -gencrl -crldays 30 \ -out /etc/pki/CA/crl/2025sdts.crl ``` --- #### 五、配置Apache HTTPS服务 1. **修改SSL配置文件** ```bash vi /etc/httpd/conf.d/ssl.conf ``` 修改以下参数: ```apache SSLCertificateFile /etc/pki/tls/certs/2025sdts.crt SSLCertificateKeyFile /etc/pki/tls/private/2025sdts.key SSLProtocol All -SSLv2 -SSLv3 SSLCipherSuite HIGH:!aNULL:!MD5 ``` 2. **创建证书下载链接** ```bash ln -s /etc/pki/CA/certs/Ca_crt.pem /var/www/html/ca.crt chcon -t httpd_sys_content_t /var/www/html/ca.crt ``` 3. **重启服务** ```bash systemctl restart httpd firewall-cmd --permanent --add-service=https firewall-cmd --reload ``` --- ### 验证步骤 1. **检查证书链** ```bash openssl verify -CAfile /etc/pki/CA/certs/Ca_crt.pem /etc/pki/tls/certs/2025sdts.crt ``` 2. **查看CRL内容** ```bash openssl crl -in /etc/pki/CA/crl/2025sdts.crl -noout -text ``` 3. **浏览器访问测试** 访问`https://2025sdts.com`应显示安全锁标志,访问`http://2025sdts.com/ca.crt`可下载根证书
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值