建立私有CA
CA:Cerieificate Authority证书颁发机构主要负责证书的颁发、管理以及归档和吊销。证书内包含了拥有证书者的姓名、地址、电子邮件帐号、公钥、证书有效期、发放证书的CA、CA的数字签名等信息。证书主要有三大功能:加密、签名、身份验证。
由于向国际根CA注册证书是要钱的,所以通常在公司内部我们需要用到证书进行安全通信时,可以自己搭建一个公司内部的CA,来满足公司内网的安全传输需求。
现在我们就来建立一个私有CA,并申请证书。
openssl的配置文件:/etc/pki/tls/openssl.cnf
三种策略:匹配、支持和可选
匹配指要求申请填写的信息跟CA设置信息必须一致,支持指必须填写这项申请信息,可选指可有可无
1、创建所需要的文件
touch /etc/pki/CA/index.txt 生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号
如果没有创建文件的话后面会报错,那时创建文件也没关系。
2、 CA自签证书
生成私钥
cd /etc/pki/CA/
(umask 066; openssl genrsa -out private/cakey.pem –des3 2048)
在生成私钥时最好加上密码 -des3 虽然使用起来每次都要输入密码,但是更安全。
这样私钥文件就生成好了。
接下来生成自签名证书
openssl req -new -x509 –key private/cakey.pem -days 3650 -out
/etc/pki/CA/cacert.pem
-new: 生成新证书签署请求
-x509: 专用于CA生成自签证书
-key: 生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径
接下来就是输入CA信息
我们可以把生成的文件传到实体机桌面上,将后缀改为.cer查看
使用sz命令 将文件传输到实体机桌面
这样自签名证书就生成好了,接下来就是申请证书和签证了,首先在需要使用证书的机器生成证书请求。
给web服务器生成私钥
(umask 066; openssl genrsa -out /etc/pki/tls/private/test.key –des3 2048) 同样我们给私钥加上密码
这样需要使用证书的机器的私钥就生成好了,接下来生成证书申请文件
openssl req -new -key /etc/pki/tls/private/test.key -days 3650 -out etc/pki/tls/test.csr
又到了输入信息的时候了,但是这次要注意了,默认国家,省,公司名称三项必须和CA一致!最后两行信息就可以不写了。
这样证书申请文件就生成好了,接下来就是申请证书了,将证书文件传输给CA。
接下来就是签发证书了
CA签署证书,并将证书颁发给请求者
openssl ca -in /tmp/test.csr –out /etc/pki/CA/certs/test.crt -days 3650
这样证书就签好了。接下来查看证书中的信息:
把证书文件导出虚拟机,并加上后缀 .cer
openssl x509 -in /PATH/FROM/CERT_FILE -noout
-text|issuer|subject|serial|dates
openssl ca -status SERIAL 查看指定编号的证书状态
这样私有CA就建立完成并且可以签发证书了。