制作chrome信任的自签名证书

1 生成自签名CA证书

1.1 ​生成CA私钥

 # 高安全性的加密私钥
 openssl genrsa -aes256 -out ca.key 4096 

1.2 ​创建CA证书

openssl req -x509 -new -key ca.key -out ca.crt -days 3650 \
-subj "/C=CN/ST=Zhejiang/L=Hangzhou/O=Internal/CN=Internal Root CA"

关键点:CN字段需体现CA用途(如"Internal Root CA"),便于后续管理

2 服务器证书生成(适配内网域名+IP)

2.1 ​生成服务器私钥

# 2048位兼顾安全性与性能
openssl genrsa -out yyfbxt.key 2048  

2.2 ​生成证书签名请求(CSR)

1、创建包含SAN的CSR配置文件
yyfbxt-csr.conf 内容如下:

[ req ]
default_bits = 2048
req_extensions = req_ext
distinguished_name = dn

[ dn ]
# 必须与hosts配置完全一致
C = CN
ST = Zhejiang
L = Hangzhou
O = Government
CN = yyfbxt.szhz.hangzhou.gov.cn

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
# 域名
DNS.1 = yyfbxt.szhz.hangzhou.gov.cn
# hosts中配置的内网IP
IP.1 = 192.168.x.x                  

2、执行​生成证书签名(CSR)命令

openssl req -new -key yyfbxt.key -out yyfbxt.csr -config yyfbxt-csr.conf

2.3 签发服务器证书

2.3.1 签发证书

执行签发命令

openssl x509 -req -in yyfbxt.csr -CA ca.crt -CAkey ca.key \
-CAcreateserial -out yyfbxt.crt -days 365 -sha256 \
-extfile yyfbxt-full.conf -extensions req_ext

2.3.2 验证证书

验证服务器证书的SAN 扩展(非常重要)

openssl x509 -in yyfbxt.crt -text -noout | grep -A2 "X509v3 Subject Alternative Name"

输出应类似:

X509v3 Subject Alternative Name:
    DNS:yyfbxt.szhz.hangzhou.gov.cn, IP Address:192.168.1.100

2.4 合并证书链

Nginx/Apache必须要执行这一步:

cat yyfbxt.crt ca.crt > combined.crt

Web服务器配置中就要使用 combined.crt 此证书。

3 部署

nginx配置

server {
    listen 443 ssl;
    ssl_certificate /ssl/combined.crt;  # 合并后的证书链
    ssl_certificate_key /ssl/yyfbxt.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
}

4 常用命令

证书有效期

openssl x509 -in yyfbxt.crt -dates -noout
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值