基本OpenSSL自建本地CA和签发用户证书

本文以windows下自建CA为例。

openssl下载与安装

下载地址:

http://slproweb.com/products/Win32OpenSSL.html?utm_source=so
在这里插入图片描述
OpenSSL 支持 32 位和 64 位,根据自己系统选择对应的安装包。

OpenSSL安装

安装默认安装,next and next。最后有一个打赏页,取消选择,点击”Finish“,安装完成。
在这里插入图片描述
安装验证:在命令提示窗口输入“openssl version”,显示版本信息表明安装成功。
在这里插入图片描述

CA体系介绍

在这里插入图片描述
CA首先有一个根CA,根CA是自签发生生成。为了考虑CA体系的安全和管理需要,根CA一般不直接签发用户证书;而是由根CA签发一个或者多个中间(中级)CA,由中间CA来签发最终用户CA。
例如:
在这里插入图片描述

CA目录准备

在进行自建CA部署之前,在D:\创建“rootca”主目录,在rootca下创建一个私钥目录(private)和一个证书目录(certs)。
在这里插入图片描述

OpenSSL自建CA部署

根据CA体系要求,我们第一步首选创建根CA。
打开 cmd 命令窗口(运行中输入cmd),切换到D:\rootca目录下。
在这里插入图片描述

创建根CA

创建根CA私钥

D:\rootca>openssl genrsa -aes256 -out private/rootca.key.pem 2048

在这里插入图片描述
输入私钥保护密码,为了方便后续操作方便,所有密码均设为123456。
在这里插入图片描述

创建根CA证书请求

openssl req -new -key private/rootca.key.pem -out private/rootca.csr -subj "/C=CN/ST=JS/L=NJ/O=TestCA/OU=Root CA/CN=TestCA Root CA" -config “C:/Program Files/OpenSSL-Win64/bin/cnf/openssl.cnf”

在这里插入图片描述
在这里插入图片描述

签发根CA证书

根CA证书的签发采用自签名方式,使用的第一步创建的私钥。

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey private/rootca.key.pem -in private/rootca.csr -out certs/rootca.cer

在这里插入图片描述
错误提示:
有效期设为7300时会报asn1格式错误,改为3650,可以成功,这个是日期编码的原因。

openssl x509 -req -days 7300 -sha1 -extensions v3_ca -signkey private/rootca.key.pem -in private/rootca.csr -out certs/rootca.cer

在这里插入图片描述
在“certs”目录生成了根CA证书“rootca.cer”。
在这里插入图片描述
在这里插入图片描述

签发中间(中级)CA

步骤与根CA类似,只有在签发中间CA是使用的是根CA证书私钥。

创建中间CA私钥。

D:\rootca>openssl genrsa -aes256 -out private/ca.key.pem 2048

在这里插入图片描述
在这里插入图片描述

创建中间CA证书请求

D:\rootca>openssl req -new -key private/ca.key.pem -out private/ca.csr -subj "/C=CN/ST=JS/L=NJ/O=TestCA/OU=TestCA L1/CN=TestCA Certificate Authority" -config "C:/Program Files/OpenSSL-Win64/bin/cnf/openssl.cnf"

在这里插入图片描述

由根CA签发中间CA

D:\rootca>openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA certs/rootca.cer -CAkey private/rootca.key.pem -CAserial rootca.srl -CAcreateserial -in private/ca.csr -out certs/ca.cer

在这里插入图片描述
中间CA生成功,通过证书路径,可以看到上的上级证书(根CA)。
在这里插入图片描述

签发用户CA

用户CA是由中间CA签发的,到此为至根CA可以放到仓库好好保存起来啦。

创建用户CA私钥

D:\rootca>openssl genrsa -aes256 -out private/user.key.pem 2048

在这里插入图片描述
在这里插入图片描述

创建用户CA证书请求

D:\rootca>openssl req -new -key private/user.key.pem -out private/user.csr -subj "/C=CN/ST=JS/L=NJ/O=Alice/OU=Alice Li/CN=Test Company" -config "C:/Program Files/OpenSSL-Win64/bin/cnf/openssl.cnf"

在这里插入图片描述
在这里插入图片描述

由中间CA签发用户CA

D:\rootca>openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA certs/ca.cer -CAkey private/ca.key.pem -CAserial ca.srl -CAcreateserial -in private/user.csr -out certs/user.cer

在这里插入图片描述
在这里插入图片描述
到此为至整个自建CA已经搭建完成,且成功签发了一张用户CA,由于鄙人水平有限,不足之处请不吝赐教,希望大家共同进步。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

索菲亚李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值