前言:数字证书为实现双方安全通信提供了电子认证。在因特网、公司内部网或外部网中,使用数字证书实现身份识别和电子信息加密。数字证书中含有密钥对(公钥和私钥)所有者的识别信息,通过验证识别信息的真伪实现对证书持有者身份的认证。
一、CA证书的创建
创建所需要的文件,下面两文件系统自动没有创建
1.生成证书索引数据库文件
touch /etc/pki/CA/index.txt
2.指定颁发证书的序列号
echo 01 > /etc/pki/CA/serial
注:默认是以01开始,十六进制数
创建私有CA
1.生成私钥
cd /etc/pki/CA/
(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem -des 2048)
注:umask 保证密钥的权限 des 在创建私钥的时候进行加密
CA自签证书
1.生成自签名证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem
-new: 生成新证书签署请求
-x509: 专用于CA生成自签证书
-key: 生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径
二、CA证书的管理
申请证书
1.需要使用证书的主机上生成私钥
(umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)
2.生成证书申请文件
openssl req -new -key /etc/pki/tls/private/test.key -out etc/pki/tls/test.csr
注:默认国家,省,公司名称三项必须和CA一致,否则无法通过。
3.将证书请求文件传输给CA
scp 申请CA文件 CA地址
颁发证书
1.CA签署证书
openssl ca -in /tmp/test.csr -out /etc/pki/CA/certs/test.crt -days 365
注:如果信息不匹配则无法签署证书
2.将证书颁发给请求者
scp 签署证书文件 请求证书的主机地址
吊销证书
1.在客户端获取要吊销的证书的serial
openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject
2.在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致,吊销证书
openssl ca -revoke /etc/pki/CA/newcerts/serial.pem
serial.pem 是跟 index.txt 一起生成的编号
注:吊销的时候是以newcerts/00.pem的文件为准
吊销之后可以查看 index.txt 文件中证书的状态信息
3.指定一个吊销证书的编号
注意:第一次更新证书吊销列表前,才需要执行
echo 01 > /etc/pki/CA/crlnumber
主要是生成吊销列表
4.更新证书吊销列表
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
相关注意事项
1.openssl的版本有要求,版本不一样的话,可能会导致创建CA证书的时候执行失败
2.openssl的配置文件说明:/etc/pki/tls/openssl.cnf
3.在配置文件中,3条必须匹配的信息字段
[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName = match
注:match改为optional则不用精确匹配