1、创建私有CA
CA核心配置文件 /etc/pki/tls/openssl.cnf
包含
# For the CA policy
[ policy_match ]
countryName = match
stateOrProvinceName = match #CA前面时需要修改成supplied或optional
organizationName = match #CA前面时需要修改成supplied或optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
1.1
默认配置文件目录
# ls /etc/pki/CA
cacert.pem 自签证书
certs/ 前面后的证书路径
crl/ 证书吊销列表
index.txt
newcerts
private/ CA私钥存在目录
cakey.pem CA私钥
serial
确保配置文件齐全
# touch index.txt
# echo 01 > serial #必须是01,数值1不生效
私有CA,私钥证书的配置文件默认使用.pem后缀
private/cakey.pem
cacert.pem
生成2048位私钥
# (umask 077; openssl genrsa 2048 > private/cakey.pem)
自签证书
# openssl req -new -x509 -key private/cakey.pem -days 3655 > cacert.pem
# 各参数的含义
# -new:生成新证书签署请求
# -x509:专用于CA生成自签证书,即自己充当CA认证自己
# -key:生成请求时用到的私钥文件路径
# -days n:证书的有效期限(天)
# -out /PATH/TO/SOMECERTFILE:证书的保存路径,可使用重定向输出
2、客户端生成CA签署请求
创建私钥
# mkdir -pv /etc/httpd/ssl
生成私钥
# (umask 077; openssl genrsa 2048 > http.key)
生成签署请求
# openssl req -new -key http.key -days 3655 > http.csr
注意
行使 SSL 加密的网站地址。请注意这里并不是单指您的域名,而是直接使用 SSL 的网站名称 例如:www.abc.com。
一个网站这里定义是:
abc.com 是一个网站;
www.abc.com 是另外一个网站;
blog.abc.com 又是另外一个网站。
---------------------
3、传输客户端CA请求文件到CA上
# scp http.csr root@192.168.137.120:/etc/pki/CA/certs/
4、查看申请信息
# openssl req -noout -text -in http.csr
5、签署客户端请求
# openssl ca -in certs/http.csr > certs/http.crt
证书通常以.crt为后缀,表示证书文件
6、传输签好的证书到客户端
# scp certs/http.crt root@192.168.137.168:/etc/httpd/ssl/
7、httpd配置使用ssl功能
# vim /etc/httpd/conf.d/ssl.cnf
打开<VirtualHost _default_:443>中的DocumentRoot和ServerName
SSLCertificateFile /etc/httpd/ssl/http.crt
SSLCertificateKeyFile /etc/httpd/ssl/http.key
8、CA吊销证书
(1)知道客户端吊销的证书的serial
# openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject
(2)先根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致;然后
# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem
(3)生成吊销证书的编号(第一次吊销一个证书时才需要执行)
# echo 01 > /etc/pki/CA/crlnumber
(4)更新证书吊销列表
# openssl ca -gencrl -out thisca.crl
9、查看证书吊销列表
# openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text
参照: https://blog.youkuaiyun.com/u012468841/article/details/61427604