首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Linux|一个创建自签名证书的小脚本

Linux|一个创建自签名证书的小脚本

作者头像
琉璃康康
发布于 2022-04-19 16:55:21
发布于 2022-04-19 16:55:21
1.2K0
举报
文章被收录于专栏:七禾页话七禾页话

这个草稿马上就要半年了,再不整理,可能就要长毛了。

写这个脚本是因为在实验室安装云平台和虚拟设备,需要证书,就使用openssl自建CA并签发证书了,命令虽然几行,但是输入参数和经常需要来回签发证书也是一件麻烦的事情。

而且在使用的时候经常碰到证书Seria一样的问题,原因是同一个CA签发了多个证书没有考虑Serial冲突的问题。

这个脚本就在此情景下应运而生,整合了openssl制作CA和签发证书的过程,并且使用RANDOM变量来设置证书的Serial。

脚本的输入是一个非常标准的配置文件,包括两个部分,一个是CA信息,一个是证书信息。

两部分都是由Common Name和Subject构成,其中Subject遵循openssl需要创建CSR所需要的标准参数格式。

配置文件详情如下:

配置文件准备好之后就可以直接运行脚本制作CA机构并签发证书了,也支持使用已经创好的CA签发证书,帮助如下:

脚本输出不仅仅有签发的证书,也会打印出相应的verify的命令,打印这个是因为之前做证书verify的时候经常忘记参数,所以就直接写到脚本输入里了。

脚本做了很多的容错,比如配置文件缺失,配置文件格式有问题,使用已经制作好的CA签发证书的时候要确认CA的证书和私钥匹配。

这个脚本不仅仅可以快速制作CA并签发证书,同时脚本内容也不复杂,可以顺便熟悉openssl命令和签发证书的流程。

脚本、使用介绍和证书样例已经同步到Github。

PS:这个Repository的README中超链了一篇介绍数字签名的古老博客(已经十几年之久),但是对于理解证书、数字签名等等非常之浅显易懂

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档