OpenSSL:
-
三个组件:
openssl: 多用途的命令行工具;
libcrypto: 加密解密库;
libssl:ssl协议的实现;
-
PKI:Public Key Infrastructure
CA
RA
CRL
证书存取库
-
建立私有CA:
OpenCA
openssl
-
证书申请及签署步骤:
1、生成申请请求;
2、RA核验;
3、CA签署;
4、获取证书;
-
创建私有CA:
openssl的配置文件:/etc/pki/tls/openssl.cnf
-
创建所需要的文件
# touch index.txt
# echo 01 > serial
#
-
CA自签证书
# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
# openssl req -new -x509 -key /etc/pki/CA/private/cakey.epm -days 7300 -out /etc/pki/CA/cacert.pem
-new: 生成新证书签署请求;
-x509: 专用于CA生成自签证书;
-key: 生成请求时用到的私钥文件;
-days n:证书的有效期限;
-out /PATH/TO/SOMECERTFILE: 证书的保存路径;
-
发证
-
用到证书的主机生成证书请求;
-
# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
# openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr
-
把请求文件传输给CA;
-
CA签署证书,并将证书发还给请求者;
# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365
-
查看证书中的信息:
openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|-subject|-serial
-
吊销证书
-
客户端获取要吊销的证书的serial
-
# openssl x509 -in /PATH/FROM/CERT_FILE -noout -serial -subject
-
CA先根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致;
-
吊销证书:
# openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem
-
生成吊销证书的编号(第一次吊销一个证书)
# echo 01 > /etc/pki/CA/crlnumber
-
更新证书吊销列表
# openssl ca -gencrl -out thisca.crl
-
查看crl文件:
# openssl crl -in /PATH/FROM/CRL_FI