1、创建私有CA
CA核心配置文件 /etc/pki/tls/openssl.cnf包含# For the CA policy[ policy_match ]countryName = matchstateOrProvinceName = match #CA前面时需要修改成supplied或optionalorganizationName = match #CA前面时需要修改成supplied或optionalorganizationalUnitName = optionalcommonName = suppliedemailAddress = optional1.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.csr5、签署客户端请求
# 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和ServerNameSSLCertificateFile /etc/httpd/ssl/http.crtSSLCertificateKeyFile /etc/httpd/ssl/http.key8、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.crl9、查看证书吊销列表
# openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text参照: https://blog.csdn.net/u012468841/article/details/61427604