openssl
构建私有CA
说明:在确认配置为CA服务器上生成一个自签名证书,并为CA提供所需的目录及文件即可
1)生成私钥:
]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
2)生成自签名证书:
]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
-new:生成新证书签署请求
-x509:生成自签格式证书,专用于创建私有CA时;
-key:生成请求时用到的私有文件路径(从私钥文件中提取公钥)
-out:生成的请求文件路径,如果自签操作将直接生成签署过的证书
-days:证书的有效时常,单位时day;
3)为CA提供所需的目录及文件
]# mkdir -pv /etc/pki/CA/{certs,crl,newcerts}
]# touch /etc/pki/CA/{serial,index.txt}
]# echo 01 >/etc/pki/CA/serial
签署证书
说明:要用到证书进行安全通信的服务器,需要向CA请求签署证书:(以http为例)
1)用到证书的主机生成私钥
]# mkdir /etc/httpd/ssl && cd /etc/httpd/ssl
]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
2)生成证书签署请求
]# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr -days 3650
3)将签署请求通过可靠方式发送给CA主机
4)在CA主机上签署证书
]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 3650
查看证书中的信息
]# openssl x509 -in /etc/pki/CA/certshttpd.crt -noout -serial -subject
吊销证书
1)客户端获取要吊销的证书的serial(在使用证书的主机执行)
2)CA主机吊销证书
先根据客户提交的serial和subject信息,对比其与本机数据库index.txt中存储的是否一致
吊销:
]# openssl ca -revoke /etc/pki/CA/netcerts/SERIAL.pem
其中的SERIAL要换成证书真正的序列号
3)生成吊销证书的吊销编号(第一次吊销证书时才执行)
]# echo 01 >/etc/pki/CA/crlnumber
4)更新证书吊销列表
]# openssl ca -gencrl -out thisca.crl
查看crl文件:
]# openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text