- 实验设备:两台(1太server一台client)
- 实验环境:无特别要求,需安装OpenSSL及其组件
一 搭建CA服务器
(1)server操作
创建私有CA
-
创建所需要的文件
touch /etc/pki/CA/index.txt 生成证书索引数据库文件 echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号
CA 自签证书
生成私钥
cd /etc/pki/CA/
(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
-
生成自签名证书
openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem -new: 生成新证书签署请求 -x509: 专用于CA生成自签证书 -key: 生成请求时用到的私钥文件 -days n :证书的有效期限 -out / PATH/TO/SOMECERTFILE : 证书的保存路径
(2)client
-
给web 服务器生成私钥
(umask 066; 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
将证书传送给server
(3)server签署证书
CA 签署证书,并将证书颁发给请求者
openssl ca -in /tmp/test.csr –out /etc/pki/CA/certs/test.crt -days 365
注意:默认国家,省,公司名称三项必须和CA
查看证书中的信息:
openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates
openssl ca -status SERIAL查看指定编号的证书状态
二 证书吊销
(1)client操作
在客户端获取要吊销的证书的serial
openssl x509 -in / PATH/FROM/CERT_FILE -noout -serial -subject
(2)server操作
-
在CA
上,根据客户提交的serial 与subject信息,对比检验是否与
index.txt`文件中的信息一致,吊销证书:openssl ca -revoke /etc/pki/CA/newcerts/ SERIAL .pem
-
指定第一个吊销证书的编号
注意:第一次更新证书吊销列表前,才 需要 执行echo 01 > /etc/pki/CA/crlnumber
-
更新证书吊销列表
openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
查看crl 文件:
openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text