自建CA服务器

参考文档:

https://www.cnblogs.com/yanshicheng/p/13424198.html

http://www.yunweipai.com/4513.html

https://www.linuxidc.com/Linux/2017-10/147349.htm

推荐文档:https://www.jianshu.com/p/9142d9d186e2

思路

搭建CA服务分为2个阶段。

1,准备CA证书,包括CA根证书(信任证书),CA的私钥
2,使用CA证书颁发证书

基本作用理解
image

步骤

1,生成私钥,并且生成自签名证书
#三条命令都是生成私钥的,可对比查看
genrsa -aes128 -passout pass:Yunweipai@123 -out web_key.pem

root@localhost ~]#(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem -des3 2048 )

[root@djcy-200 CA]# (umask 066; openssl genrsa -out private/cakey.pem -des3 2048)
#生成自签名证书,也是一种证书请求文件,因为都是req 命令,但是这个是可以放到浏览器里的root证书。

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: 证书的保存路径
2.创建申请者(子ca服务器或者用户)的证书颁发请求

如果是子ca服务器,需要创建自己的私钥,再用这个私钥来创建请求文件。

#创建自己的私钥文件
(umask 066; openssl genrsa -out /etc/pki/tls/private/subca.top.key)

#根据私钥文件创建证书请求文件
openssl req -new -key /etc/pki/tls/private/subca.top.key -out /etc/pki/tls/subca.top.csr

#将请求文件传输到ca根服务器上,准备生成自己的证书了
scp /etc/pki/tls/subca.top.csr root@xxx.xxx.xxx.xxx:/etc/pki/CA
3.申请颁发证书

在实际生产环境中,一般 CA 服务器都独立部署,因为申请颁发证书的过程是申请者将证书请求(CSR)发送给CA服务器,CA服务器接收到了之后,通过下面命令颁发证书,然后将证书返回给申请者。
所以,这一步是在ca根证书服务器上操作

openssl ca -in /etc/pki/CA/subca.top.csr -out /etc/pki/CA/subca.top.crt -days 3650

将签署好的证书发回给子CA服务器,并改名为cacert.pem;
/etc/pki/CA/cacert.pem 为子CA服务器中openssl.cnf配置文件中的certificate指定的路径

scp subca.top.crt subca_IP:/etc/pki/CA/cacert.pem
4.证书终于颁发完了,通过这个命令,可以验证web.cer是由ca_cert.cer颁发的:

如果使用的是运维派创建的证书类型,这个命令可用,前面是根ca证书,后面是子ca的证书

openssl verify -CAfile   ca_cert.cer web.cer 
web.cer: OK

扩展:

ssh 密钥的的几种形式

目前有两个主流的密钥格式:OpenSSH格式的密钥 和 PuTTY格式的密钥。

  1. id_rsa和id_rsa.pub
    都是OpenSSH格式的密钥。
    id_rsa是OpenSSH格式的SSH私钥。
    id_rsa.pub是OpenSSH格式的SSH公钥。
  2. ppk文件
    ppk文件是Putty的私钥。PuTTY Private Key 的缩写。
    但是ppk文件中同时包含了公钥和私钥,可用记事本打开查看。
  3. pem文件
    pem文件可以包含任何东西: 具有公共密钥的证书,SSH公钥,公钥私钥,具有公钥私钥的证书。 PEM是一个文本文件,可以用记事本打开。
posted @ 2022-03-30 12:53  风风羊  阅读(780)  评论(0编辑  收藏  举报