Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux|一个生成自签名证书的小脚本

Linux|一个生成自签名证书的小脚本

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

作为一个业余型码农,代码写过最多的时候应该就是在大学了,不管是C语言的学习,还是J2EE的专业课,以及自己最熟悉的.NET,因为专业课程的设计、毕设和指导毕设等原因,都写了不少。

毕业后从事了通信运维,开始大量使用Linux系统,从PNF到VNF再到CNF(Container based的VNF),越来越多的开始使用shell和python写一些辅助运维的脚本,也是颇有益处。

写这个生成自签名证书脚本是因为安装Openstack系列产品或者某些CNF产品需要申请证书,在自我学习或者实验室中经常需要基于openssl做自签名证书。

命令不是很多也不是很复杂,但是每次都需要来回准备和运行那几行命令,也颇有浪费生命之感,另外自己在做自签名证书的时候有一些参数值设定不好导致使用中遇到杂七杂八的问题,比如serial这个参数,之前没用注意或者每次设定成一样,导致访问对应的网页会遇到如下问题。

在自签名中的解决方案选择了使用随机数来给serial赋值,目前再也没有遇到上述问题。

这个脚本的思路是通过一个配置文件来传递证书需要的Subject信息比如Country、Location、Common Name等信息,然后给Client签发证书,证书时间是100年。

这个脚本主要有四个参数,其中-h是optional查询帮助参数。

另外三个分别是必须参数-c来传递Subject配置文件,然后是-ca和-key参数用来传递一个已经存在的CA机构的证书和私钥。

上述三个参数搭配完成了自签名任务。

一是只使用-c参数,其中配置文件需要包括Root CA和Client的Subject,先创建Root CA机构,然后给Client签发证书。

二是一起使用-c、-ca、-key参数来完成基于已有的Root CA的证书和私钥直接给Client签发证书,从而保证一套lab环境中使用统一的自签名CA机构。

容错功能已经把大部分可以想到或者运行时遇到的问题都进行了判断并做出提示,比如基于已有的CA签发证书,那么提供的文件是否是证书或者私钥,证书和私钥是否匹配等等问题都做了容错规避。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 七禾页话 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux|一个创建自签名证书的小脚本
写这个脚本是因为在实验室安装云平台和虚拟设备,需要证书,就使用openssl自建CA并签发证书了,命令虽然几行,但是输入参数和经常需要来回签发证书也是一件麻烦的事情。
琉璃康康
2022/04/19
7940
Linux|一个创建自签名证书的小脚本
OpenSSL - 利用OpenSSL自签证书和CA颁发证书
秘钥操作 这个命令会生成一个1024/2048位的密钥,包含私钥和公钥。 openssl genrsa -out private.key 1024/2038                     (with out password protected)    openssl genrsa -des3 -out private.key 1024/2048    (password protected) 这个命令可以利用private.key文件生成公钥。 openssl rsa -in private.k
Aichen
2018/05/18
6.8K0
生成CSR和自签名证书
CSR,全称Certificate Signing Request(证书签发请求),是一种包含了公钥和与主题(通常是实体的信息,如个人或组织)相关的其他信息的数据结构。CSR通常用于向证书颁发机构(Certificate Authority,CA)申请数字证书。下面是CSR的详细介绍:
孟斯特
2023/10/25
8240
生成CSR和自签名证书
使用OpenSSL创建CA和申请证书
OpenSSL是一种加密工具套件,可实现安全套接字层(SSL v2 / v3)和传输层安全性(TLS v1)网络协议以及它们所需的相关加密标准。
星哥玩云
2022/07/31
2.8K0
使用OpenSSL创建CA和申请证书
数字证书 CA_数字证书申请
上面就是利用认证机构Trent进行公钥密码通信的流程。其中1、2、3这几个步骤仅在注册新公钥时才会进行,并不是每次通信都需要。此外,步骤 4 仅在Alice第一次用公钥密码向Bob发送消息时才需要进行,只要Alice将Bob的公钥保存在电脑中,在以后的通信中就可以直接使用了。
全栈程序员站长
2022/11/03
3.9K0
数字证书 CA_数字证书申请
CA中心构建及证书签发实录
本实验中,我们将通过开源工具OpenSSL构建一个私有CA中心,并以其为根CA,设立一个子CA机构,并为Client提供证书签署服务。
用户1456517
2019/03/05
1.4K0
CA中心构建及证书签发实录
自建CA认证和证书
X.509:定义了证书的结构和认证协议的标准。包括版本号、序列号、签名算法、颁发者、有效期限、主体名称、主体公钥、CRL分发点、扩展信息、发行者签名等
咻一咻
2020/05/29
3.4K0
PKI - 借助Nginx实现_客户端使用CA根证书签发客户端证书
通过执行这两个命令,您可以生成一个自签名的根证书,用于签发其他证书,如服务器证书、客户端证书等。
小小工匠
2024/05/26
3570
PKI - 借助Nginx实现_客户端使用CA根证书签发客户端证书
linux openssl制作ssl证书_openssl生成自签名证书 c++代码
最近,被分配了一个任务,完成数字证书管理系统的开发,一开始我是一脸懵逼的,因为以前我对于什么数字证书都没了解过,可谓了一片空白,也不知其是用来干嘛的。于是,我奋发图强,用了一个下午加晚上的时间来脑补这部分概念知识,原来数字证书其实就是网站的身份认证。
全栈程序员站长
2022/11/04
4.1K0
linux openssl制作ssl证书_openssl生成自签名证书 c++代码
SSL 证书生成
生成CA私钥(.key)–>生成CA证书请求(.csr)–>自签名得到根证书(.crt)(CA给自已颁发的证书)。
为为为什么
2022/08/06
2.3K0
如何制作和使用自签名证书
因为自签名证书签发相对于商业证书流程简单,费用低廉(除了电费几乎不花钱),更新容易。所以在开发领域、甚至一些小众场景下特别常见,比如 K8S / MySQL 集群中的 TLS 认证,一些大的集团、公司的内网服务、网站安全证书、企业路由器设备的管理后台、用于管理企业员工的“安全准入客户端”等不乏使用这个方案。
soulteary
2021/02/06
4.5K0
如何制作和使用自签名证书
如何制作自签名证书
本文主要介绍如何基于openssl制作X.509自签名证书,以及如何使用该证书签发新证书。
coderhuo
2023/10/21
2.6K0
如何制作自签名证书
傻分不清楚的kubernetes证书
要深入了解证书的作用,首先需要了解一些原理和具备一些基本知识,比如什么是非对称加密,什么是公钥,私钥,数字签名是啥等。先从RSA算法说起。
sealyun
2020/04/14
1.3K0
openssl为IP签发证书(支持多IP/内外网)
利用 OpenSSL 签发证书需要 OpenSSL 软件及库,一般情况下 CentOS、Ubuntu 等系统均已内置, 可执行 openssl 确认,如果提示 oepnssl: command not found,则需手动安装,以Centos为例:
治电小白菜
2022/07/08
7K0
openssl为IP签发证书(支持多IP/内外网)
“证书”那些事
本文介绍了如何创建自己的证书颁发机构以及如何创建由该证书颁发机构签名的SSL证书。 尽管有许多文章讨论如何创建自己的SSL证书,但在大多数情况下,它们描述了如何创建自签名证书。这比较简单,但是无法验证或跟踪那些证书。 我个人更喜欢先创建个人证书颁发机构(CA),然后再从该证书颁发机构颁发证书。这种方法的主要优点是,你可以将CA的证书导入浏览器或手机中,并且当你访问自己的网站或连接到SMTP/IMAP服务器时,不会再收到任何警告。现在被认为是值得信赖的。如果你为自己的项目创建证书层次结构,并且希望成为唯一可以为用户颁发证书的人员,则这也是必要的。
tunsuy
2022/10/27
4940
数字证书原理
在传统的加密算法中,通信的双方会采用一个共享秘钥来对数据进行加密和解密。消息发送方先采用秘钥对明文进行加密然后再进行传送,待接收方收到消息后,再采用秘钥对密文进行界面,以得到明文。由于加密和解密采用的秘钥是相同的,这种加密算法也称为对称加密。采用对称加密的通信过程如下图所示:
赵化冰
2022/08/01
2.7K1
数字证书原理
SSL与TLS协议原理与证书签名多种生成方式实践指南
原文地址: SSL与TLS协议原理与证书签名多种生成方式实践指南 (https://mp.weixin.qq.com/s/g-X8UPNwIkuR_Qd2MDvVQw)
全栈工程师修炼指南
2022/09/29
1.7K0
SSL与TLS协议原理与证书签名多种生成方式实践指南
PKI - 借助Nginx 实现Https_使用CA签发证书
总之,使用 CA 签发证书可以确保通信的安全性、可靠性和完整性,为网络通信提供了重要的保护和信任基础。
小小工匠
2024/05/26
3020
PKI - 借助Nginx 实现Https_使用CA签发证书
生成Nginx服务器SSL证书和客户端证书
下面的命令用于生成一个2048bit的pass key, -passout pass:111111 用于避免交互式输入密码
星哥玩云
2022/07/27
6.3K0
SSL证书生成流程
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socketlayer(SSL),SSL安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。 SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://www.baidu.com”。
yaohong
2019/09/11
3.7K0
SSL证书生成流程
相关推荐
Linux|一个创建自签名证书的小脚本
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档