构建私有CA的流程图,由于做图的时候忘记设置大小结果图就是这样........
Openssl 配置文件: /etc/pki/tls/openssl.cnf
[ CA_default]
dir = /etc/pki/CA CA的主目录
certs = $dir/certs 证书所在的目录
crl_dir = $dir/crl 被吊销的证书所在目录
database = $dir/index.txt 证书的数据文件
new_certs_dir = $dir/newcerts 新颁发的证书目录
certificate = $dir/cacert.pem CA自己的证书文件
certificate = $dir/cacert.pem 证书序号文件
crlnumber = $dir/crlnumber 吊销序号
crl = $dir/crl.pem 当前使用的CRL
private_key = $dir/private/cakey.pem 证书的私钥文件
RANDFILE = $dir/private/.rand CA使用的随机数文件
[ req_distinguished_name ]
这里所设置的内容就是为生成自签署证书时或者申请证书请求时的设置
countryName_default = XX 设置默认国家
#stateOrProvinceName_default = Default Province 设置默认省份(注释掉了把#去掉就好)
localityName_default = Default City 设置默认城市
0.organizationName_default = Default Company Ltd 设置默认公司
#organizationalUnitName_default = 设置默认单位
以上内容都可以修改为自己所需要的
构建私有CA详细步骤:
1.在CA服务器上生成私钥文件并且自签署证书
1)为CA创建私钥文件
(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
注:这里的生成位置及格式必须要和openssl的配置文件里定义的路径和格式要一样否则在处理申请证书请求时会提示错误,如果不想使用默认定义的格式可将配置文件的格式修改为你需要的.
2)为私有CA颁布自签署证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
-new :创建新证书
-x509:自签署证书时使用,如果只是申请证书请求则不需要加此参数
-key:指定私钥所在的位置
-days:指定证书时间
echo 01 > /etc/pki/CA/serial
4)创建证书数据文件
touch /etc/pki/CA/index.txt
2.客户端生成私钥并生成签署证书请求
(umask 077;openssl genrsa -out /tmp/app.key 2048)
openssl req -new -key /tmp/app.key -out /tmp/app.csr -days 365
注 :这里所填写的信息除主机名和邮箱地址外其余必须要和CA证书的内容一模一样.
3.CA签署证书请求
由于我这里只开了一台虚拟机,所以即做CA又做申请者
openssl ca -in /tmp/app.csr -out /tmp/app.crt -days 365
输入两次Y即可签署
4)吊销证书:
openssl ca -revoke /tmp/app.crt