证书申请及签署步骤:
1、生成申请请求
2、RA核验
3、CA签署
4、获取证书
三种策略:匹配、支持和可选
①匹配:指要求申请填写的信息跟CA设置信息必须一致,默认国家、省、公司信息必须一致
②支持:指必须填写这项申请信息,但是可以和CA信息不一致
③可选:指可有可无
1、创建所需要的文件
①openssl的配置文件:/etc/pki/tls/openssl.cnf
如果没有这个文件,那么需要安装一个包
rpm -ivh openssl-libs-1.0.1e-60.el7.x86_64.rpm
配置文件里给定了CA的一些文件路径,需严格按照该路径存放文件。
②touch /etc/pki/CA/index.txt 生成证书索引数据库文件
③echo 99 > /etc/pki/CA/serial 指定第一个颁发证书的序列号。那么下个分发的序列号就是该数+1
2、CA自签证书:
1)生成私钥
cd /etc/pki/CA/
(umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 1024)
umask 077:表示生成的私钥文件权限为700,放在小括号里表示只对小括号里的命令有影响,而不影响系统当前的umask。
-out :生成的私钥放在指定文件中
1024:表示生成1024位的私钥
2)生成自签名证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem
-new: 生成新证书签署请求
-x509: 专用于CA生成自签证书,不加就是给别人颁发证书
-key: 生成请求时用到的私钥文件
-days 3650:证书的有效期限
-out : 证书的保存路径
3、颁发证书
1)在需要使用证书的主机生成证书请求
给web服务器生成私钥:
(umask 077; openssl genrsa -out /etc/pki/tls/private/test.key 2048)
生成证书申请文件
Openssl req -new -key /etc/pki/tls/private/test.key -days 365 -out /etc/pki/tls/test.csr
2)将证书请求文件传输给CA
scp /etc/pki/tls/test.csr 192.168.119.128:/
3)CA签署证书,并将证书颁发给请求者
openssl ca -in /test.csr -out /etc/pki/CA/certs/test.crt -days 365
scp /etc/pki/CA/certs/test.crt 192.168.119.129:/etc/pki/tls/
4)查看证书中的信息:
openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates
openssl ca -status SERIAL 查看指定编号的证书状态
4、吊销证书
1)在客户端获取要吊销的证书的serial
openssl x509 -in /etc/pki/CA/certs/test.crt -noout -serial -subject
2)在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致,然后吊销证书:
openssl ca -revoke /etc/pki/CA/newcerts/99.pem
3)指定第一个吊销证书的编号
注意:第一次更新证书吊销列表前,才需要执行
echo 01 > /etc/pki/CA/crlnumber
4)更新证书吊销列表
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
查看crl文件:
openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text