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信息可以帮助用户判断证书的可信度。

相关推荐
zhengqiqiqinqin2 天前
Ubuntu16.04 升级ssl到3.5.7、升级ssh到9.8p1
网络协议·ssh·ssl
2501_915921433 天前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl
Lucky_Turtle3 天前
【SSL】letsencrypt域名证书申请,Cloudflare域名
网络·网络协议·ssl
冠希陈、4 天前
Nginx部署SSL,导致多站点串站问题
运维·nginx·ssl
qetfw4 天前
Debian OpenSSL CA 证书配置参考:根证书、服务证书与验证
linux·debian·ssl·openssl
聚美智数4 天前
SSL证书信息查询-SSL域名解析-SSL证书查询服务-SSL证书解析服务API接口介绍
网络·网络协议·ssl
冰夏之夜影4 天前
【解决方案】SpringBoot项目添加ssl证书后不生效问题
spring boot·后端·ssl
@CLoudbays_Martin119 天前
Linux 服务器如何查看是否被植入后门?
linux·服务器·网络·安全·github·ssl
东荷新绿11 天前
【运维开发】acme.sh 安装|签发泛域名SSL证书,宝塔Nginx部署+自动续期
nginx·腾讯云·运维开发·ssl·宝塔·acme.sh
DevOpenClub13 天前
用网页内容、页面速度、DNS、SSL 和 WHOIS 接口构建 SEO 巡检 Agent
网络·数据库·人工智能·网络协议·ssl