实现CA和证书申请

0..0.0CA说明.png

0.0过程解析.png

0.向CA申请证书流程---7当服务器,6当客户端.png

文字说明

1 在CA上执行,建立CA
cd /etc/pki/CA
touch index.txt
echo 0F > serial
(umask 077;openssl genrsa -out private/cakey.pem 2048)
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
填写多项内容:国家,省,城市,公司等
2 客户端执行
(umask 077;openssl genrsa -out /data/app.key 2048)
openssl req -new -key /data/app.key -out /data/app.csr
填写多项内容:国家,省,城市,公司等
scp /data/app.csr 到CA服务器上
3 在CA上执行,颁发证书
cd /etc/pki/CA
openssl ca -in app.csr -out certs/app.crt -days 100
4 验证证书
openssl verify -CAfile cacert.pem certs/app.crt certs/app2.crt
OK
5 查看证书内容
openssl x509 -in certs/app.crt -noout -text


.CA重要配置文件

5.CA重要配置文件.png


1.服务器实操

1、创建所需要的文件

touch /etc/pki/CA/index.txt 生成证书索引数据库文件

echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号

1.png

2、(根) CA自签证书

2.1生成私钥.pem

cd /etc/pki/CA/
(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

1.服务器生成私钥文件.png

2.2根据私钥(cakey.pem)生成自签名证书(cacert.pem)

2.自签名证书-说明.png

openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem

2.自签名证书.png


2.客户端实操

1.生成私钥.key

(umask 077;openssl genrsa -out app.key 1024)

4.6-客户端生成私钥.png

2.证书申请文件-----根据私钥(app.key)生成证书申请文件(app.csr)

openssl req -new -key /data/app.key -out /data/app.csr

5.6生成证书申请文件.png

3.将生成的证书申请文件(app.csr)发送给CA服务器

scp /data/app.csr CA服务器IP:目录路径

6.6将生成的申请文件发送给CA服务器.png


回到CA服务器

1.确认是否已经收到客户端发来的证书申请文件(app.csr)

6.7CA服务器收到客户端发来的生成申请文件.png

2.颁发证书-----根据客户端发来的申请文件(app.csr)颁发证书(app.crt)

openssl ca -in app.csr -out certs/app.crt -days 100

7.7颁发证书.png
7.7CA生成的颁发证书.png

执行完上面的命令后,会在newcerts目录下生成以“echo 0F > /etc/pki/CA/serial 指定第一个颁发证书的序列号”的.pem文件,其实和生成的证书是同一个文件

7.7生成的颁发证书.png
1.png

3.将颁发的证书发送给客户端

scp certs/app.crt 客户端IP:存放的目录

8.7将生成的证书发送给客户端.png


说明:

服务器:
1:cakey.pem:私钥
2:cacert.pem:自签名证书------根据私钥(cakey.pem)生成自签名证书(cacert.pem)
客户端:
key:自己的私钥
csr:客户端根据自己私钥生成的申请证书文件
crt:服务器颁发给客户端的证书

posted on 2018-09-17 09:52  圆缘  阅读(2492)  评论(0编辑  收藏  举报

返顶部