目 录CONTENT

文章目录

域名自签名 SSL 证书

过客
2025-06-03 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

在内部测试或自己折腾的时候,不用花钱去折腾,可以自签名证书。

创建配置文件

创建一个 openssl.cnf 配置文件,支持多种域名扩展

[ req ]
distinguished_name = req_distinguished_name
req_extensions     = v3_req
prompt             = no
x509_extensions    = v3_ca

[ req_distinguished_name ]
C  = CN
ST = Zhejiang
L  = Hangzhou
O  = CC55
OU = IT Department
CN = zengwu.com.cn

[ v3_req ]
keyUsage               = keyEncipherment, dataEncipherment
extendedKeyUsage       = serverAuth, clientAuth
subjectAltName         = @alt_names
basicConstraints       = CA:FALSE
subjectKeyIdentifier   = hash

[ v3_ca ]
keyUsage               = keyEncipherment, dataEncipherment
extendedKeyUsage       = serverAuth, clientAuth
subjectAltName         = @alt_names
basicConstraints       = CA:TRUE
subjectKeyIdentifier   = hash

[ alt_names ]
# 主要域名
DNS.1 = zengwu.com.cn

# 泛域名支持 (可解析所有三级子域名)
DNS.2 = *.zengwu.com.cn

# IP地址支持 (如有需要)
# IP.3 = 192.168.1.55

生成证书和密钥

# 1. 生成2048位的RSA私钥
openssl genrsa -out zengwu.com.cn.key 2048

# 2. 创建CA根证书(有效期10年)
openssl req -x509 -new -key zengwu.com.cn.key \
  -out ca-root.crt -days 3650 \
  -config openssl.cnf -extensions v3_ca

# 3. 创建证书签名请求(CSR)
openssl req -new -key zengwu.com.cn.key \
  -out zengwu.com.cn.csr -config openssl.cnf

# 4. 使用CA签署证书(有效期10年)
openssl x509 -req -in zengwu.com.cn.csr \
  -CA ca-root.crt -CAkey zengwu.com.cn.key \
  -CAcreateserial -out zengwu.com.cn.crt \
  -days 3650 -extfile openssl.cnf -extensions v3_req

合并证书

将服务器根证书和CA根证书合并

cat zengwu.com.cn.crt ca-root.crt> zengwu.com.cn.pem

最后只要将zengwu.com.cn.keyzengwu.com.cn.pem添加到对应的服务器中就可以了

0

评论区