在Linux上使用openssl生成CA认证文件并为服务器和客户端颁发CA签名证书
本文基于Linux上CentOS 7版本配合openssl与mod_ssl(需要使用yum下载)进行配置演示
目录
2.生成服务器方私钥,发送包含服务器方公私钥的申请文件给CA机构请求签发证书
3.生成客户端方私钥,发送包含服务器方公私钥的申请文件给CA机构请求签发证书
一.生成认证主要流程
1.虚拟出一个CA认证机构,为其生成公私钥以及自签证书
2.生成服务器方私钥,发送包含服务器方公私钥的申请文件给CA机构请求签发证书
3.生成客户端方私钥,发送包含服务器方公私钥的申请文件给CA机构请求签发证书
4.生成证书
注意:建议新建一个或多个目录用于存放密钥/认证文件
二.具体生成过程
1.虚拟CA机构方生成内容
(1)为CA机构生成私钥
openssl genrsa -out ca.prikey 2048
genrsa:表示生成私钥
-out:表示输出到哪个文件
2048:指定密钥长度
[root@sulibao ca_ca]# openssl genrsa -out ca.prikey 2048
(2)为CA机构生成公钥
openssl rsa -in ca.prikey -pubout -out ca.pubkey
rsa:表示生成公钥
-in:指定输入文件
-pubout:表示提示openssl要输出的文件为公钥文件
[root@sulibao ca_ca]# openssl rsa -in ca.prikey -pubout -out ca.pubkeywriting RSA key
(3)为CA机构生成自签名证书
openssl req -new -x509 -days 3650 -key ca.prikey -out ca.cert
req:表示生成请求文件
-new:表示创建一个新请求
-x509:类似证书版本号
-days:指定证书有效时间
-key:指定私钥文件
[root@sulibao ca_ca]# openssl req -new -x509 -days 3650 -key ca.prikey -out ca.cert
注意:提示输入信息可以直接回车,如若输入错误可以尝试使用BackSpace或者Ctrl+BackSpace进行删除
(4)查看各文件是否齐全
[root@sulibao ca_ca]# lltotal 28-rw-r--r-- 1 root root 1363 Jan 7 19:07 ca.cert-rw-r--r-- 1 root root 1675 Jan 7 18:54 ca.prikey-rw-r--r-- 1 root root 451 Jan 7 18:56 ca.pubkey
已生成认证文件
2.服务器方生成内容
(1)为服务器生成私钥
openssl genrsa -out ser.prikey 2048
[root@sulibao ca_ca]# openssl genrsa -out ser.prikey 2048
(2) 生成服务器证书申请文件
openssl req -new -key ser.prikey -out ser.csr
[root@sulibao ca_ca]# openssl req -new -key ser.prikey -out ser.csr
(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认证标识
[root@sulibao ca_ca]# openssl x509 -req -days 3650 -in ser.csr -CA ca.cert -CAkey ca.prikey -CAcreateserial -out ser.certSignature oksubject=xxxxxxGetting CA Private Key
(4)查看各文件是否齐全
[root@sulibao ca_ca]# lltotal 40-rw-r--r-- 1 root root 1363 Jan 7 19:07 ca.cert-rw-r--r-- 1 root root 1675 Jan 7 18:54 ca.prikey-rw-r--r-- 1 root root 451 Jan 7 18:56 ca.pubkey-rw-r--r-- 1 root root 17 Jan 7 20:09 ca.srl-rw-r--r-- 1 root root 1245 Jan 7 19:28 ser.cert-rw-r--r-- 1 root root 1082 Jan 7 19:17 ser.csr-rw-r--r-- 1 root root 1679 Jan 7 19:15 ser.prikey
已生成认证文件
3.客户端方生成内容
(1)为客户端生成私钥
openssl genrsa -out cli.prikey 2048
[root@sulibao ca_ca]# openssl genrsa -out cli.prikey 2048
(2)生成客户端证书申请文件
openssl req -new -key cli.prikey -out cli.csr
[root@sulibao ca_ca]# openssl req -new -key cli.prikey -out cli.csr
(3)把客户端申请文件发送给CA机构,请求签发证书
openssl x509 -req -days 3650 -in cli.csr -CA ca.cert -CAkey ca.prikey -CAcreateserial -out cli..cert
[root@sulibao ca_ca]# openssl x509 -req -days 3650 -in cli.csr -CA ca.cert -CAkey ca.prikey -CAcreateserial -out cli..certSignature oksubject=xxxxxxGetting CA Private Key
(4)查看各文件是否齐全
[root@sulibao ca_ca]# lltotal 40-rw-r--r-- 1 root root 1363 Jan 7 19:07 ca.cert-rw-r--r-- 1 root root 1675 Jan 7 18:54 ca.prikey-rw-r--r-- 1 root root 451 Jan 7 18:56 ca.pubkey-rw-r--r-- 1 root root 17 Jan 7 20:09 ca.srl-rw-r--r-- 1 root root 1204 Jan 7 20:09 cli.cert-rw-r--r-- 1 root root 985 Jan 7 20:07 cli.csr-rw-r--r-- 1 root root 1675 Jan 7 20:06 cli.prikey-rw-r--r-- 1 root root 1245 Jan 7 19:28 ser.cert-rw-r--r-- 1 root root 1082 Jan 7 19:17 ser.csr-rw-r--r-- 1 root root 1679 Jan 7 19:15 ser.prikey
已生成认证文件
来源地址:https://blog.csdn.net/weixin_64334766/article/details/128594460
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341