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
相关推荐
QCzblack18 分钟前
见面考复现
网络
Eric.Lee20211 小时前
查看ubuntu机器正在使用的网络端口
网络·ubuntu·php
Zero-Talent1 小时前
TCP/IP协议
运维·服务器·网络
Du_chong_huan1 小时前
1.7 计算机网络和因特网的历史 | 《计算机网络:自顶向下方法》精读版
运维·服务器·网络
Java成神之路-2 小时前
DNS 与 CDN 底层原理深度剖析:从域名解析到内容分发全链路解析
网络·网络协议·tcp/ip
AI浩3 小时前
UCAN:用于轻量级超分辨率中扩展感受野的统一卷积注意力网络
网络
echome8884 小时前
Python 异步编程实战:asyncio 核心概念与最佳实践
开发语言·网络·python
Predestination王瀞潞4 小时前
5.4.3 通信->WWW万维网内容访问标准(W3C):WWW(World Wide Web) 协议架构(分层)
前端·网络·网络协议·架构·www
喵喵爱自由4 小时前
Docker容器共享宿主机-安全网络
网络·安全·docker
星爷AG I4 小时前
15-6 威胁性信息(AGI基础理论)
网络·agi