openssl自建CA并生成自签名SSL证书

文件列表:

ca.key:CA私钥

ca.crt:CA根证书,用于后续签名SSL证书,需要加入到操作系统或浏览器的信任列表中

server.key:服务器私钥,需要配置到https服务,比如Apache和Nginx配置文件中

server.csr:证书签署请求文件,中间产物

server.crt:自签名服务器SSL证书,需要配置到https服务,比如Apache和Nginx配置文件中,服务器的身份证。

java 复制代码
#创建CA私钥文件: 
openssl genrsa -des3 -out ca-secure.key 2048 
#输入密码: 
Enter PEM pass phrase:123456 
#再次输入密码: 
Verifying - Enter PEM pass phrase:123456
#密码证书转无密码(此步按需,比如配置到Apache或者Nginx中时不必每次启动时输入密码)
openssl rsa -in ca-secure.key -out ca.key
#输入上述密码: 
Enter pass phrase for ca-secure.key:123456
#查看私钥内容:
openssl rsa -text -in ca-secure.key
#输入密码:
Enter pass phrase for server.key:123456
#生成CA自签名证书
openssl req -new -x509 -days 3650 -key ca.key -subj "/C=CN/ST=BJ/L=BJ/O=MyRootCA/OU=MyCA/CN=CA" -out ca.crt
#生成服务器私钥和证书申请文件CRS(此处CN代表web服务器主机名或IP地址)
openssl req -newkey rsa:2048 -nodes -keyout server.key -subj "/C=CN/ST=BJ/L=BJ/O=MyRootServer/OU=MyServer/CN=192.168.69.78" -out server.csr
#使用CA证书签名SSL证书,此处`-extfile <(printf "subjectAltName=IP:10.10.49.172[,DNS:<YOUR_DOMAIN>,...]")`:扩展用于指定主体的备用名称
openssl x509 -req -extfile <(printf "subjectAltName=IP:192.168.69.78") -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
#查看证书内容
openssl x509 -text -noout -in server.crt
相关推荐
闲人编程14 分钟前
使用FastAPI和WebSocket构建高性能实时聊天系统
websocket·网络协议·网络编程·fastapi·持久化·实时聊天·codecapsule
惊讶的猫17 分钟前
OpenFeign(声明式HTTP客户端)
网络·网络协议·http·微服务·openfeign
心.c1 小时前
TCP协议深入解析
网络·网络协议·tcp/ip
摇滚侠1 小时前
HTTP 404 - No response body available
网络·网络协议·http
全栈工程师修炼指南1 小时前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
Trouvaille ~1 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议
CSCN新手听安1 小时前
【linux】网络基础(三)TCP服务端网络版本计算器的优化,Json的使用,服务器守护进程化daemon,重谈OSI七层模型
linux·服务器·网络·c++·tcp/ip·json
REDcker2 小时前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
任白2 小时前
OSI参考模型&&TCP/IP模型
网络协议
不做菜鸟的网工2 小时前
OSPF协议笔记整理
网络协议