openssl创建自签名证书

原文地址:自签名证书 -- 无敌牛

欢迎参观我的个人博客:无敌牛 -- 技术/著作/典籍/分享等

1 生成私钥

openssl genrsa -out server.key 2048

2 创建证书请求文件

openssl req -new -key server.key -out server.csr

3 用私钥和证书请求文件,生成签名文件

openssl x509 -req -days 36500 -in server.csr -signkey server.key -out server.crt


扩展 ...

从私钥里提取公钥

openssl rsa -in server.key -pubout -out server.pub

检查秘钥是否有效,查看私钥信息

openssl pkey -in server.key -check

查看证书请求文件信息

openssl req -in server.csr -noout -text

查看证书信息

openssl x509 -in server.crt -noout -text

查看证书有效期

openssl req -in server.csr -noout -dates

证书验证

openssl verify -CAfile root-ca.crt server.crt

从网站提取证书文件,示例:

openssl s_client -connect www.madbull.site:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > /opt/xxx.perm

Let's Encrypt 安装证书

需要安装 certbot 工具和 python3-certbot-nginx 插件

yum install certbot python3-certbot-nginx

需要提前把网站建好,certbot会在线生成私钥、证书、证书链和完整证书链,然后修改 nginx 的配置文件中对应域名的证书地址,最后做网页验证。

指令:certbot --nginx -d "www.madbull.site"


自己创建根证书,对其他服务授权,以及在linux环境,把根证书加入到系统信任列表。

1.1 创建根的私钥

openssl genrsa -out root-ca.key 2048

1.2 创建根证书

openssl req -x509 -new -nodes -key root-ca.key -sha256 -days 1024 -out root-ca.crt

2.1 创建服务的私钥

openssl genrsa -out server.key 2048

2.2 给服务创建证书请求文件

openssl req -new -key server.key -out server.csr

2.3 给服务颁发证书

openssl x509 -req -in server.csr -CA root-ca.crt -CAkey root-ca.key -CAcreateserial -out server.crt -days 36500 -sha256

3.1 把根证书放到配置可信任的配置证书文件位置

cp root-ca.crt /etc/pki/ca-trust/source/anchors/

3.2 更新系统可信任的根证书

update-ca-trust extract

3.3 验证根证书是否已经在信任列表里

查看 /etc/ssl/certs/ca-bundle.trust.crt 文件中是否有 root-ca.crt 证书


添加多个主题替代名称(SAN)的方法参看:openssl颁发包含主题替代名的证书--SAN -- 无敌牛

相关推荐
承渊政道4 小时前
Linux网络学习【应用层自定义协议与序列化实战:从手写序列化与反序列化到深入理解进程间关系与守护进程】
linux·网络·学习·ubuntu·json·序列化与反序列化
无垠的广袤4 小时前
【ED-CLAWBOX】智能家居枢纽
linux·物联网·docker·智能家居·树莓派·aiot·home assistant
玩AI的奶茶4 小时前
什么情况适合租算力?一张场景对照表,加三个自测问题
大数据·linux·服务器·数据库·人工智能·python
IT利刃出鞘4 小时前
Linux权限--adduser和useradd的区别
linux·运维·服务器
天意__4 小时前
Android手机上部署Linux服务器 在Termux里安装Ubuntu
android·linux·服务器
Ruiery4 小时前
Linux 6.6内核内存管理深度解析(五):page cache(页缓存)— 读缓存在内存、写延迟回写
linux·运维·服务器·缓存
星恒随风4 小时前
Linux进程信号(一):从Ctrl+C到kill、raise、alarm,深入理解信号的概念与产生原理
linux·c语言·笔记·学习·状态模式
honsor4 小时前
机房动环监控:以太网温湿度传感器选型与部署全解
运维·服务器·网络·物联网·网络协议·tcp/ip
idcardwang4 小时前
智嵌物联,串口-wifi网关的配置
运维·服务器·网络
一条泥憨鱼4 小时前
【从0开始学习计算机网络】| 从一次 ping 出发:ICMP、路由协议与网关边界
服务器·网络·ip