OpenSSL建立私有CA
yum安装OpenSSL:
提示已经安装过了。
openssl的主配置文件:/etc/pki/tls/openssl.cnf
[CA_default]
dir:CA的主目录
certs:已颁发证书的存储位置
crl_dir:已吊销证书的存储位置
database:证书索引文件
new_certs_dir:新颁发证书的存储位置
certificate:CA证书文件
serial:证书颁发时的当前序列号
crlnumber:吊销证书的当前序列号
crl:当前使用的CRL
private_key:CA私钥
RANDFILE:私有随机数生成器文件
构建私有CA大体步骤:
构建私有CA服务器:
1、生成私钥;
2、CA服务器自签署证书;
给节点发放证书:
1、节点申请证书:
生成私钥
生成证书签署请求
把请求文件发送给CA
2、CA签署证书:
验正请求者的信息
签署证书
把签署好的证书发还给请求者
构建过程和openssl命令的使用:
一、建立私有CA
1、生成私钥文件
# cd/etc/pki/CA
# (umask 077;openssl genrsa -out private/cakey.pem 2048)
生成2048字节的私钥保存为private目录下的cakey.pem,命令放在()中表示命令在子shell中运行,命令中的umask与当前shell的umask不会冲突。
2、生成自签署证书
req子命令:生成PKCS#10格式的证书签署请求
-new: 生成新的证书签署请求;
-key/path/to/private_key_file:私钥文件路径;
-daysn:证书有效时长;
-out/path/to/request_file: 生成的证书请求文件路径;
-x509:专用于CA生成自签署证书时;
-newkeyrsa:NUM 无需事先专门生成私钥文件,而是生成请求时直接生成私成私钥,并提取公钥用于证书;
# openssl req-new -x509 -key private/cakey.pem -days 3655 -out cacert.pem
创建自签署证书要输入国家代码、省份、城市、组织名称、客户机申请证书时填写这四项也要与这里一样才行。另外还要填写主机名如:www.stu19.com与验证身份有关,务必要填写正确。最后填写管理员的邮箱地址。
# touch./{index.txt,serial}
#echo 01 > serial
创建证书编号文件,并写入01到文件中,以后再签证书数值会自动增长。
二、给节点发放证书:
1、节点申请证书:在申请证书的主机上进行
假设:用httpd服务且与CA在同一台服务器上,其位置为/etc/httpd/conf/certs/
生成私钥
#(umask 077; openssl genrsa -out httpd.key 1024)
生成证书签署请求
#openssl req -new -key httpd.key -out httpd.csr -days NUM
注意:其subject信息中位置与公司要与CA的保持一致;
2、CA签署证书:在CA主机上执行如下命令
验正请求者的信息;
签署证书
#openssl ca -in /path/from/REQ.csr -out /path/to/somefile.crt -days NUM
并把签署好的证书放到指定位置下:
3、查看证书中的相关信息
#openssl x509 -in /path/to/somefile.crt -noout -text|-subject|-serial
三、吊销证书
客户机操作:获取证书的serial(在证书持有端进行)
# openssl x509-in /path/to/somefile.crt -noout -serial –subject
CA服务器操作:
1、根据证书持有者提交的serial和subject信息来与index.txt数据库文件中的信息是否一致;
2.吊销证书
#openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem
3、生成吊销证书的编号(如果是第一次吊销)
# echo01 > /etc/pki/CA/crlnumber
4、更新证书吊销列表
# cd/etc/pki/CA/crl/
#openssl ca -gencrl -out thisca.crl
注意:查看crl文件的方法
#openssl crl -in /path/from/somefile.crl -noout –text
原文地址:http://linux2016.blog.51cto.com/4799006/1605285