实现CA和证书申请
文字说明
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重要配置文件
1.服务器实操
1、创建所需要的文件
touch /etc/pki/CA/index.txt 生成证书索引数据库文件
echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号
2、(根) CA自签证书
2.1生成私钥.pem
cd /etc/pki/CA/
(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
2.2根据私钥(cakey.pem)生成自签名证书(cacert.pem)
openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
2.客户端实操
1.生成私钥.key
(umask 077;openssl genrsa -out app.key 1024)
2.证书申请文件—–根据私钥(app.key)生成证书申请文件(app.csr)
openssl req -new -key /data/app.key -out /data/app.csr
3.将生成的证书申请文件(app.csr)发送给CA服务器
scp /data/app.csr CA服务器IP:目录路径
回到CA服务器
1.确认是否已经收到客户端发来的证书申请文件(app.csr)
2.颁发证书—–根据客户端发来的申请文件(app.csr)颁发证书(app.crt)
openssl ca -in app.csr -out certs/app.crt -days 100
执行完上面的命令后,会在newcerts目录下生成以“echo 0F > /etc/pki/CA/serial 指定第一个颁发证书的序列号”的.pem文件,其实和生成的证书是同一个文件
3.将颁发的证书发送给客户端
scp certs/app.crt 客户端IP:存放的目录
说明:
服务器:
1:cakey.pem:私钥
2:cacert.pem:自签名证书——根据私钥(cakey.pem)生成自签名证书(cacert.pem)
客户端:
key:自己的私钥
csr:客户端根据自己私钥生成的申请证书文件
crt:服务器颁发给客户端的证书