十念 发表于 2024-6-11 10:06:53

在Linux上使用openssl生成CA认证文件并为服务器和客户端颁发CA签名证书

本文基于Linux上CentOS 7版本配合openssl与mod_ssl(必要使用yum下载)举行设置演示
目次
一.生成认证主要流程
1.假造出一个CA认证机构,为其生成公私钥以及自签证书
2.生成服务器方私钥,发送包含服务器方公私钥的申请文件给CA机构哀求签发证书
3.生成客户端方私钥,发送包含服务器方公私钥的申请文件给CA机构哀求签发证书
4.生成证书
二.具体生成过程
1.假造CA机构方生成内容
2.服务器方生成内容
3.客户端方生成内容

一.生成认证主要流程

1.假造出一个CA认证机构,为其生成公私钥以及自签证书

2.生成服务器方私钥,发送包含服务器方公私钥的申请文件给CA机构哀求签发证书

3.生成客户端方私钥,发送包含服务器方公私钥的申请文件给CA机构哀求签发证书

4.生成证书

注意:建议新建一个或多个目次用于存放密钥/认证文件
二.具体生成过程

1.假造CA机构方生成内容

(1)为CA机构生成私钥
openssl genrsa -out ca.prikey 2048
genrsa:表现生成私钥
-out:表现输出到哪个文件
2048:指定密钥长度
# openssl genrsa -out ca.prikey 2048
https://img-blog.csdnimg.cn/4eca5c899542447299344335279e59a0.png
 (2)为CA机构生成公钥
openssl rsa -in ca.prikey -pubout -out ca.pubkey
rsa:表现生成公钥
-in:指定输入文件
-pubout:表现提示openssl要输出的文件为公钥文件
# openssl rsa -in ca.prikey -pubout -out ca.pubkey
writing RSA key https://img-blog.csdnimg.cn/d8bad1c9d4d849b5a99ca7efa4fad3e3.png  
(3)为CA机构生成自签名证书
 openssl req -new -x509 -days 3650 -key ca.prikey -out ca.cert
req:表现生成哀求文件
-new:表现创建一个新哀求
-x509:雷同证书版本号
-days:指定证书有效时间
-key:指定私钥文件
# openssl req -new -x509 -days 3650 -key ca.prikey -out ca.cert https://img-blog.csdnimg.cn/910f86aaa63744a8b95577c2dde2a403.png注意:提示输入信息可以直接回车,如若输入错误可以尝试使用BackSpace或者Ctrl+BackSpace举行删除 
 (4)查看各文件是否齐备
# ll
total 28
-rw-r--r-- 1 root root 1363 Jan7 19:07 ca.cert
-rw-r--r-- 1 root root 1675 Jan7 18:54 ca.prikey
-rw-r--r-- 1 root root451 Jan7 18:56 ca.pubkey
已生成认证文件 
2.服务器方生成内容

(1)为服务器生成私钥
openssl genrsa -out ser.prikey 2048
# openssl genrsa -out ser.prikey 2048 https://img-blog.csdnimg.cn/16b6f6360aee4c358d9a9db8e71f1e6b.png
(2) 生成服务器证书申请文件
openssl req -new -key ser.prikey -out ser.csr
# openssl req -new -key ser.prikey -out ser.csr https://img-blog.csdnimg.cn/34c99e171e3e47c7b690759769aea9a6.png  
(3)把服务器申请文件发送给CA机构,哀求签发证书
openssl x509 -req -days 3650 -in ser.csr -CA ca.cert -CAkey ca.prikey -CAcreateserial -out ser.cert
-CA:指定CA机构的签名证书文件
-CAkey:指定CA机构的私钥文件
-CAcreateserial:CA认证标识
# openssl x509 -req -days 3650 -in ser.csr -CA ca.cert -CAkey ca.prikey -CAcreateserial -out ser.cert
Signature ok
subject=xxxxxx
Getting CA Private Key https://img-blog.csdnimg.cn/708fded1b4014881be4f1c04260bb5f5.png
(4)查看各文件是否齐备
# ll
total 40
-rw-r--r-- 1 root root 1363 Jan7 19:07 ca.cert
-rw-r--r-- 1 root root 1675 Jan7 18:54 ca.prikey
-rw-r--r-- 1 root root451 Jan7 18:56 ca.pubkey
-rw-r--r-- 1 root root   17 Jan7 20:09 ca.srl
-rw-r--r-- 1 root root 1245 Jan7 19:28 ser.cert
-rw-r--r-- 1 root root 1082 Jan7 19:17 ser.csr
-rw-r--r-- 1 root root 1679 Jan7 19:15 ser.prikey
 已生成认证文件
3.客户端方生成内容

(1)为客户端生成私钥
openssl genrsa -out cli.prikey 2048
# openssl genrsa -out cli.prikey 2048
https://img-blog.csdnimg.cn/fe60ef2db0dc4ad086878f83f78d3381.png  
(2)生成客户端证书申请文件
openssl req -new -key cli.prikey -out cli.csr
# openssl req -new -key cli.prikey -out cli.csr
 https://img-blog.csdnimg.cn/44f09e38446446ebbfa32e97bda01404.png
(3)把客户端申请文件发送给CA机构,哀求签发证书
openssl x509 -req -days 3650 -in cli.csr -CA ca.cert -CAkey ca.prikey -CAcreateserial -out cli..cert
# openssl x509 -req -days 3650 -in cli.csr -CA ca.cert -CAkey ca.prikey -CAcreateserial -out cli..cert
Signature ok
subject=xxxxxx
Getting CA Private Key
https://img-blog.csdnimg.cn/20ad6cfa044b48aea46f60eb5832da43.png
(4)查看各文件是否齐备
# ll
total 40
-rw-r--r-- 1 root root 1363 Jan7 19:07 ca.cert
-rw-r--r-- 1 root root 1675 Jan7 18:54 ca.prikey
-rw-r--r-- 1 root root451 Jan7 18:56 ca.pubkey
-rw-r--r-- 1 root root   17 Jan7 20:09 ca.srl
-rw-r--r-- 1 root root 1204 Jan7 20:09 cli.cert
-rw-r--r-- 1 root root985 Jan7 20:07 cli.csr
-rw-r--r-- 1 root root 1675 Jan7 20:06 cli.prikey
-rw-r--r-- 1 root root 1245 Jan7 19:28 ser.cert
-rw-r--r-- 1 root root 1082 Jan7 19:17 ser.csr
-rw-r--r-- 1 root root 1679 Jan7 19:15 ser.prikey
已生成认证文件 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 在Linux上使用openssl生成CA认证文件并为服务器和客户端颁发CA签名证书