生成根CA证书
openssl genrsa -out rootCA.key 2048
openssl req -new -x509 -days 3650 -key rootCA.key -out rootCA.crt
生成服务器证书
openssl genrsa -out server.key 2048
# 生成服务器证书请求(Common Name字段填写目标域名,传统上用于指定证书的域名,必须填写,重要)
openssl req -new -key server.key -out server.csr
# 创建SAN配置文件(扩展字段,支持多个域名和IP地址)
# 现代浏览器:优先使用 SAN 字段中的域名
# 兼容性考虑:CN(Common Name)字段仍然保留,但不是主要验证依据
# 证书验证:以 SAN 中的域名列表为准
echo "[SAN]
subjectAltName=DNS:example.com,DNS:www.example.com,IP:127.0.0.1,IP:192.168.1.100" > san.cnf
# 使用根CA签署证书
openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -days 3650 -sha256 -extfile san.cnf -extensions SAN