centos模拟创建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 /etc/pki/CA/private/cakey.pem 2048)
生成自签名证书
openssl req -new -x509 –key
/etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
-new: 生成新证书签署请求
-x509: 专用于CA生成自签证书
-key: 生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径
3、颁发证书
A 在需要使用证书的主机生成证书请求
给web服务器生成私钥
(umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)
生成证书申请文件
openssl req -new -key /etc/pki/tls/private/test.key -days 365 -out etc/pki/tls/test.csr
B 将证书请求文件传输给CA
C CA签署证书,并将证书颁发给请求者
openssl ca -in /tmp/test.csr –out /etc/pki/CA/certs/test.crt -days 365
注意:默认国家,省,公司名称三项必须和CA一致
D 查看证书中的信息:
openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|issuer|subject|serial|dates
openssl ca -status SERIAL 查看指定编号的证书状态
现在小编带大家实现以上创建流程,只不过我们跳过第一步,先执行第二步,看看它会如何报错,具体步骤如下
① centos7模拟web服务器,生成密钥并加密,这样权限也就设置的比较严格
② 利用上面生成的私钥生成一个自签名的证书
③ centos6模拟客户端去向centos7申请证书
④ 利用私钥文件生成请求文件,一般以.csr后缀,默认国家、省会和公司必须和CA一致
⑤ 把请求文件放到CA证书存放路径(也就是把请求文件从centos6传到centos7)
⑥ CA审核请求,并颁发证书(会有报错情况,因为我们开始时跳过了第一步)
根据报错,创建index.txt文件,发现依旧报错,缺少serial文件
⑦ 创建seiral文件,文件齐全,无报错情况,再执行审核命令,证书颁发成功
看一下数据库,出现证书信息
这次用了编号99,那么下一个证书的编号是9A而不会是100,到此证书颁发完毕
⑧ 把颁发好的证书传给客户端centos6,让它使用
切换至客户端,这时已经收到证书了
查看证书部分内容
查看证书状态
到此,模拟结束,希望大家踊跃评论哦。