一、创建私有CA并进行证书申请。
1.1 创建CA相关目录及文件
[root@Centos8 ~]# mkdir /etc/pki/CA/{certs,crl,newcerts,private}
[root@Centos8 ~]# tree /etc/pki/CA/
/etc/pki/CA/
├── certs
├── crl
├── newcerts
└── private
index.txt和serial文件在颁发证书时需要使用,如果不存在,会创建失败,需自行创建定义
[root@Centos8 ~]# touch /etc/pki/CA/index.txt #生成证书索引数据文件
[root@Centos8 ~]# echo 0F > /etc/pki/CA/serial # 指定颁发的第一个证书的序列号为0
1.2 创建CA密钥
[root@Centos8 ~]# cd /etc/pki/CA/
[root@Centos8 CA]# (umask 066; openssl genrsa -out private/cakey.pem 2048)
1.3 给CA颁发自签名证书
[root@Centos8 private]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem
-new:生成新证书签署请求
-x509:专用于CA生成自签证书
-key:生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径
[root@Centos8 CA]# sz cacert.pem
将文件传输到windows,文件扩展名为cacert.pem.crt,打开可查看该CA证书详细。
1.4 用户生成私钥及证书申请
生成用户私钥存放路径
[root@Centos8 ~]# mkdir /data/app
[root@Centos8 ~]# (umask 066; openssl genrsa -out /data/app/app.key 2048)
1.5 生成证书申请文件
[root@Centos8 ~]# openssl req -new -key /data/app1/app1.key -out /data/app1/app1.csr
默认要求 国家,省,公司名称三项必须和CA一致
1.6 CA颁发证书
[root@Centos8 CA]# openssl ca -in /data/app/app.csr -out /etc/pki/CA/certs/app.crt -days 1000
[root@Centos8 CA]# tree
.
├── cacert.pem
├── certs
│ ├── app1.crt
│ └── app.crt
├── crl
├── index.txt
├── index.txt.attr
├── index.txt.attr.old
├── index.txt.old
├── newcerts
│ ├── 0F.pem
│ └── 10.pem
├── private
│ └── cakey.pem
├── serial
└── serial.old
4 directories, 12 files
1.7 将证书相关文件发送到用户端使用
[root@Centos8 CA]# cp /etc/pki/CA/certs/app.crt /data/app/
[root@Centos8 CA]# tree /data/app/
/data/app/
├── app.crt
├── app.csr
└── app.key
1.8 证书的信任
默认的证书在windows最开始是不受信任的