创建CA和申请证书

创建CA基础知识

CA:证书颁发机构
根CA==>子CA==>用户,根CA不直接面对用户,而是通过子CA向用户颁发证书
openssl配置文件:/etc/pki/tls/openssl.cnf
三种策略:
匹配(match):申请证书时所填信息必须和配置文件填的一样
支持(supplied):申请证书时所填信息可以不一样但必须填
可选(optional):申请证书时所填信息是可选的,可有可无
policy      = policy_match #指定要匹配的哪个策略 
# For the CA policy
[ policy_match ] #提交信息的匹配策略
countryName     = match
stateOrProvinceName = match
organizationName    = match
organizationalUnitName  = optional
commonName      = supplied #给网站服务器用的域名,也可以是泛域名
emailAddress        = optional

[ policy_anything ]
countryName     = optional
stateOrProvinceName = optional
localityName        = optional
organizationName    = optional
organizationalUnitName  = optional
commonName      = supplied
emailAddress        = optional

首先检查是否安装软件包,如果没有安装先安装

rpm -qa openssl*
[root@centos7 CA]# rpm -qa openssl*
openssl-libs-1.0.1e-60.el7.x86_64
openssl-1.0.1e-60.el7.x86_64
openssl-devel-1.0.1e-60.el7.x86_64

生成自签名证书

自己给自己颁发证书,用于创建根CA

创建私有CA:

(1)创建CA所需要的文件大部分都有了,还缺两个文件

touch /etc/pki/CA/index.txt #生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial #指定第一个颁发证书的序列号,存放下一个签发证书的序列号

(2)CA自签证书

生成的密钥文件必须放在/etc/pki/CA/privite文件夹下,必须命名为cakey.pem
生成的证书文件必须放在/etc/pki/CA/目录下,名字必须为cacert.pem

(umask 066;openssl genrsa -out /etc/pki/CA/privite/cakey.pem 2048) #生成秘钥可加密
(umask 066;openssl genrsa -out /etc/pki/CA/privite/cakey.pem -des3 2048)#这个是生成加密密钥的两个选一个即可
openssl req -new -x509 -key /etc/pki/CA/privite/cakey.pem -out /etc/pki/CA/cacert.pem -days 7200

到此完成根CA创建,记住匹配规则

创建子CA

(1)创建子CA需要的两个文件,只要是CA就得创建

touch /etc/pki/CA/index.txt #生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial #指定第一个颁发证书的序列号,存放下一个签发证书的序列号

(2)在要申请CA的主机上创建私钥,然后生成申请证书,创建子CA不需要加x509选项,申请证书名字随便起,把证书传到根CA签名,根CA签完名之后传回来后改名叫cacert.pem放在/et/pki/CA目录下,只要是CA目录和文件名就是固定的

(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
openssl req -new -key /etc/pki/CA/private/cakey.pem /etc/pki/CA/subca.csr 

--------------------

在根CA的操作,subca.csr文件拷到了/etc/pki/CA/目录下
openssl ca -in /etc/pki/CA/subca.csr -out /etc/pki/CA/certs/subca.crt -days 3650

客户端申请证书

(1)客户端申请证书和上面的大同小异,只是文件名、路径没有什么要求,最好和被申请服务放在一起

(umask 006;openssl genrsa -out /etc/pki/tsl/private/httpd.key 2048) 
openssl req -new -key /etc/pki/tsl/private/httpd.key -out /etc/pki/tsl/httpd.csr

(2)传到子CA签发证书,以下在子CA操作然后传回

openssl ca -in /etc/pki/CA/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

注意:如果openssl版本不一样,也可能会导致出现错误

吊销证书

[root@centos7 CA]# cat index.txt
R   180909132313Z       01  unknown /C=CN/ST=beijing/O=mage/OU=opt/CN=www.zhangnan.com/emailAddress=1234QQ.com
V   180910085841Z       02  unknown /C=CN/ST=beijing/L=beijing/O=keji/OU=opt/CN=subca.com/emailAddress=123456@qq.com

V表示证书有效,R表示吊销

吊销证书命令

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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值