自签名 SSL 证书一键生成脚本(支持 SAN)

Gen_cert


🚀 自签名 SSL 证书一键生成脚本(支持 SAN)

在本项目中,你可以一键生成 自签名 SSL 证书,支持:

  • 自动提示输入域名
  • 自动生成 SAN(含主域名 + www 域名)
  • 自动创建私钥、CSR、CRT
  • 自动生成 OpenSSL 配置文件 随着现代浏览器对 HTTPS 的支持逐渐严格,即使是自签证书,也建议为域名配置 SAN。本脚本可以一键完成所有操作。

🧩 功能特点

  • ✔ 一键运行,无需安装

  • ✔ 自动提示输入域名

  • ✔ 自动生成完整证书链文件:

    • 私钥 .key
    • CSR .csr
    • 自签名证书 .crt
    • OpenSSL 配置文件 openssl.cnf
  • ✔ SAN 自动包含:

    • yourdomain.com
    • www.yourdomain.com
  • ✔ 证书有效期默认 10 年(3650 天)

  • ✔ 证书文件自动归档到 certs/域名/ 目录


⚡ 一键运行脚本(推荐方式)

你无需下载脚本,只需在服务器执行一条命令:

1
bash <(curl -sSL https://raw.githubusercontent.com/topqaz/gen_cert/main/gen_cert.sh)

或使用 wget:

1
bash <(wget -qO- https://raw.githubusercontent.com/topqaz/gen_cert/main/gen_cert.sh)

执行命令后会看到:

1
请输入要生成证书的域名(例如 example.com):

输入你的域名即可自动生成证书。


📂 生成文件目录结构

生成的证书文件将存放在:

1
2
3
4
5
6
certs/
└── example.com/
    ├── example.com.key       # 私钥
    ├── example.com.csr       # 证书请求文件
    ├── example.com.crt       # 自签名证书
    ├── openssl.cnf           # 自动生成的 OpenSSL 配置(含 SAN)

1
realpath certs/example.com/example.com.crt

🔒 自签名证书说明

自签名证书可用于:

  • 内网 HTTPS
  • 本地开发调试
  • 内部系统环境(无需公网 CA)
  • 测试环境的 HTTPS

⚠️ 注意:浏览器会提示“不受信任”,需要手动信任证书。

如需正式证书,可以使用:

  • Let’s Encrypt(免费)
  • Cloudflare SSL(半托管)

我可以帮你自动部署 Let’s Encrypt 版本,如你需要。


📜 脚本地址

源代码地址: https://github.com/topqaz/gen_cert

一键运行入口: https://raw.githubusercontent.com/topqaz/gen_cert/main/gen_cert.sh