openssl 自签证书

生成自签证书脚本

go 复制代码
#!/bin/bash
KEY_LENGTH=4096
DAYS=3650
ST=DongBei
L=LiaoNing
O=NASA
OU=NASA
CN=*.dongbei.nasa.edu.cn
EMAIL=xxx@qq.com

# 生成私有证书密钥
openssl genrsa -out server.key ${KEY_LENGTH}
# 生成证书请求文件
# 警告:一定要用双引号(单引号不解析变量)
openssl req -new -x509 -key server.key -out ca.crt -days ${DAYS} \
	-subj "/C=CN/ST=${ST}/L=${L}/O=${O}/OU=${OU}/CN=${CN}/emailAddress=${EMAIL}"

# 生成证书签名请求文件(CSR)
# 警告:一定要用双引号(单引号不解析变量)
openssl req -new -key server.key -out server.csr \
	-subj "/C=CN/ST=${ST}/L=${L}/O=${O}/OU=${OU}/CN=${CN}/emailAddress=${EMAIL}"

# 使用自签名CA证书签发SSL证书
openssl x509 -req -days ${DAYS} -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt

字段解释

这个subject参数指定了证书的DN(Distinguished Name)信息。DN包含证书主体的身份信息,格式为一系列键值对,使用/分隔。每个键值对使用=号连接。这个subject参数包含的键值对有:- /C=CN:国家名称是CN(China)

  • /ST=ZheJiang:省份是DongBei

  • /L=HangZhou:城市是LiaoNing

  • /O=NASA:组织名称是 NASA

  • /OU=NASA:组织单元名称也是 NASA

  • /CN=*.dongbei.nasa.edu.cn:公共名称(Common Name)是*.dongbei.nasa.edu.cn

  • /emailAddress=hh@qq.com:电子邮箱是hh@qq.com证书的DN信息遵循X.500标准。常用的DN字段及其含义有:- C:国家(Country)

  • ST:省/市/自治区(State/Province)

  • L:地点(Locality)

  • O:组织(Organization)

  • OU:组织单元(Organization Unit)

  • CN:公共名称(Common Name),主机名或网站

  • emailAddress:电子邮箱地址证书的DN字段内容并不影响证书的功能,但具有重要的识别作用。真实的DN信息可以帮助用户判断证书的可信度。

相关推荐
PinTrust SSL证书1 天前
Geotrust企业型OV通配符SSL
网络协议·网络安全·小程序·https·云计算·ssl
墨香幽梦客1 天前
全站HTTPS化实战:SSL证书管理、自动续期与TLS 1.3性能优化详解
性能优化·https·ssl
yleihj5 天前
vCenter计算机SSL证书续期
服务器·网络协议·ssl
BullSmall8 天前
Prometheus 如何配置监控 SSL 证书即将过期
网络协议·ssl·prometheus
Zhu7588 天前
【软件更新】在Ubuntu24 LTS中更新openssl到指定版本,例如openssl3.5.6 LTS
linux·ssh·ssl
阿凤2111 天前
nginx部署如何配置ssl证书
运维·nginx·ssl
AscendKing11 天前
一款开源、本地部署的 SSL 证书自动化管理工具Certimate介绍 部署教程
开源·自动化·ssl
MonkeyKing_sunyuhua11 天前
Nginx + Let’s Encrypt 免费 SSL 证书 的完整配置过程
运维·nginx·ssl
wAEWQ6Ib713 天前
当今互联网安全的基石 - TLS/SSL
网络·安全·ssl
芯智工坊13 天前
第8章 Mosquitto消息高级特性
网络·人工智能·mqtt·开源·ssl