一、构建私有CA:
选项说明:
-new 生成新证书签署请求
-509 生成自签格式证书,专用于创建私有CA时
-key 生成请求时用到的私有文件路径
-out 生成的请求文件路径;如果自签操作将直接生成签署过得证书
-days 指定证书的时间
(1)生成私钥
(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
(2)生成自签证书
openssl req -new x509 -key /etc/pki/CA/private/cakey -out /etc/pki/CA/cacert.pem -days 3650)
(3)为CA提供所需要的目录及文件
mkdir /etc/pki/CA/{certs,crl,newcerts} -p
touch /etc/pki/CA/{serial,index.txt}
echo 01 > /etc/pki/CA/serial
二、需用到证书进行安全通信的服务器,需要向CA请求签署证书:
(1)用到证书的主机生成私钥(这里nginx服务为例)
mkdir /etc/nginx/ssl
(uamsk 077;openssl genrsa -out /etc/nginx/ssl/nginx.key 2048)
(2)生成证书签署请求
openssl req -new -key /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.csr -days 365
(3)将请求通过可靠方式发送给CA主机
scp /etc/nginx/ssl/nginx.csr root@IP:PATH
(4)在CA主机上签署证书
openssl ca -in /PATH/nginx.csr -out /etc/pki/CA/certs/nginx.crt -days 365
三、验证证书
查看证书信息
openssl x509 -in /etc/pki/CA/certs/nginx.crt -noout -serial -subject
验证https
openssl s_client -connect www.test.com:443 -CAfile /etc/pki/CA/cacert.pem