配置 CA证书.note
一、在 本地配置证书(CA 和 Web服务器在 同一台机器上)
(1)使用 apache2 自带的 证书 和 私钥:
apt install -y apache2
a2ensites default-ssl.conf
systemctl restart apache2(2)创建自签名证书:
# 正常创建证书:
openssl req -new -x509 -nodes -out /etc/ssl/cisco.crt -keyout /etc/ssl/cisco.key -addext "subjectAltName=DNS:www.cisco.com" //如果要指定多个扩展名,就需要使用 ,逗号隔开,例如:"subjectAltName=DNS:www.cisco.com,DNS:cisco.com"
## 将这张 cisco.crt 证书提供给客户端图形化信任即可(3)创建 CA根证书颁发机构:
/usr/lib/ssl/misc/CA.pl -newca //创建根CA证书颁发机构
# 可选,可以在 /etc/ssl/openssl.cnf 中添加证书扩展字段:(新版本浏览器需要有 DNS扩展名称才会信任证书)
vim /etc/ssl/opnessl.cnf
/usr/lib/ssl/misc/CA.pl -newreq-nodes //创建新的证书申请
/usr/lib/ssl/misc/CA.pl -sign //签发证书
# 将证书移动到指定的位置
mkdir /etc/ssl/tls
rm newreq.pem //证书申请可以直接删除
mv newcert.pem /etc/ssl/tls
mv newkey.pem /etc/ssl/tls二、CA 和 Web 服务器不在同一台机器上:
1、Web服务器生成 私钥 和 证书申请,将证书申请传输给 CA:
# 生成证书申请:
openssl genrsa -out server.key 2048 //创建 证书私钥
openssl req -new -key server.key -out newreq.pem //根据证书私钥 生成一个证书申请
# 将证书申请传输给 根CA服务器:
scp newreq.pem root@192.168.10.22、CA 机构签发证书:
# 先创建 根CA
/usr/lib/ssl/misc/CA.pl -newca
# 然后编辑 CA,配置扩展名称:(新版本浏览器需要有 DNS扩展名称才会信任证书)
vim /etc/ssl/openssl.cnf
# 签发证书:
## 注意:证书申请需要和 demoCA在同一目录下
/usr/lib/ssl/misc/CA.pl -sign
# 将签发成功的证书传输回 Web服务器:
scp newcert.pem root@192.168.10.254:/etc/ssl这样证书就配置成功了,在 Web服务器中应用即可