在线SSL证书生成工具

免费在线生成自签名SSL/TLS证书工具。填写证书信息,一键生成Apache/Nginx(crt+key)、Tomcat(pfx/jks)、IIS(pfx)、宝塔面板证书及根CA证书。所有证书打包ZIP下载,适用于开发测试环境HTTPS配置、内网服务SSL加密、本地API HTTPS调试等场景。

证书基本信息
导出格式(可多选)

使用提示:

  • 生成的证书为自签名证书,仅适用于开发/测试/内网环境。
  • 浏览器提示「不安全」时,请先下载 ZIP 中的 root-ca/ca.crt 并导入到「受信任的根证书颁发机构」。
  • PFX / JKS 文件默认密码:123456,ZIP 内每种格式均附详细 README.txt 配置说明。
  • 生产环境请使用正规 CA 机构(如 Let's Encrypt、DigiCert 等)签发的证书。

功能特性

CA签发证书链

生成独立的根CA证书并用其签发服务器证书,符合标准X.509证书链结构,浏览器可通过信任CA消除警告。

多格式一键导出

支持Apache、Nginx、IIS、Tomcat(PFX/JKS)、宝塔面板、腾讯云CDN等8种常用格式,ZIP打包一键下载。

自定义有效期

支持1-36500天自定义有效期,最长可达100年,满足长期开发测试环境需求。

完整证书字段

填写CN/O/OU/C/ST/L完整X.509主体字段,自动添加SAN备用域名,SHA256WithRSA-2048签名算法。

详细配置说明

每个格式均附带README.txt,包含Nginx/Apache/Tomcat/IIS/宝塔面板的详细配置步骤,开箱即用。

本地瞬时生成

使用BouncyCastle加密库在服务器端即时生成,证书和私钥不会保存,随生成随下载,安全可靠。

使用说明

快速开始

  • 填写基本信息:域名(CN)必填,如 localhost*.example.com(通配符证书)或内网IP。其他字段(O/OU/C/ST/L)可选,建议填写规范组织信息。
  • 选择有效期:默认365天,可按需调整,最大36500天(约100年)。
  • 勾选导出格式:根据需要部署的服务器类型选择对应格式,默认全部勾选。
  • 生成并下载:点击「生成并下载证书」按钮,稍候即可获得 ZIP 压缩包。
  • 信任根CA:解压后找到 root-ca/ca.crt,导入操作系统「受信任的根证书颁发机构」,即可消除浏览器警告。

各格式部署指南

  • Nginx:解压 nginx/ 目录,配置 ssl_certificate 指向 .crtssl_certificate_key 指向 .key,重载 nginx 即可。
  • Apache:编辑 httpd-ssl.conf,使用 SSLCertificateFileSSLCertificateKeyFileSSLCACertificateFile 三个指令分别指向对应文件。
  • IIS:服务器证书 → 导入 → 选择 .pfx 文件(密码 123456)→ 站点绑定 HTTPS 即可。
  • Tomcat:PFX 或 JKS 任选其一,在 server.xmlConnector 中配置 certificateKeystoreFile 和密码即可。
  • 宝塔面板:网站 → 设置 → SSL → 其他证书,粘贴 fullchain.pemprivkey.pem 保存即可。

典型使用场景

  • 本地开发 HTTPS:为 localhost 或自定义本地域名生成证书,调试微信小程序、WebRTC、PWA 等必须 HTTPS 的功能。
  • 内网服务 SSL 加密:企业内网 OA、CRM、GitLab、Jenkins、Harbor 等服务之间启用 HTTPS,防止明文传输。
  • 微服务与 K8s Ingress:为内部 API 网关、Ingress Controller 快速生成自签名证书用于开发环境。
  • 移动端接口调试:iOS/Android App 开发时,为测试服务器配置 HTTPS,避免 ATS / 明文限制拦截。

常见问题 FAQ

为什么浏览器访问时提示「你的连接不是专用连接」「不安全」?
这是自签名证书的正常表现。因为根CA(root-ca/ca.crt)不是正规机构签发的,浏览器默认不信任。解决方法:
Windows:双击 ZIP 中的 root-ca/ca.crt → 安装证书 → 存储位置选择「本地计算机」→ 选择「将所有证书放入下列存储」→ 浏览 → 「受信任的根证书颁发机构」→ 完成。重启浏览器即可。
macOS:双击 ca.crt → 打开「钥匙串访问」→ 拖入「系统」→ 双击证书 → 信任 → 始终信任。
iOS:用邮件或 AirDrop 将 ca.crt 发送到手机 → 安装描述文件 → 设置 → 通用 → 关于本机 → 证书信任设置 → 开启对应根证书。
Android:设置 → 安全 → 从存储设备安装 → 选择 ca.crt → 命名并安装。
自签名证书和 CA 机构证书有什么区别?生产环境能用吗?
自签名证书:由自己生成的根CA签发,浏览器/操作系统默认不信任,需要手动导入根CA才能消除警告。优点是免费、即时、可自定义任意域名/IP。
正规CA证书:由受信任的CA机构(Let's Encrypt/DigiCert/GeoTrust等)签发,所有浏览器和操作系统都会默认信任,优点是无需任何配置,所有用户访问均无警告。
结论:自签名证书仅适用于开发/测试/内网环境。生产环境(公网用户访问)强烈建议使用正规CA签发的证书,推荐免费的 Let's Encrypt(自动续期)或付费证书。
可以生成通配符证书(*.example.com)吗?支持 IP 吗?
都可以。
通配符证书:在「域名(CN)」处填写 *.example.com 即可,同时会自动添加 example.com 作为 SAN 备用域名。
IP 证书:直接填写 IP 地址如 192.168.1.100 即可,工具会自动将其添加到 SAN(Subject Alternative Name)中。部分浏览器(如 Chrome)要求 IP 必须出现在 SAN 中,仅凭 CN=IP 无法通过验证。
PFX/JKS 文件的默认密码是什么?如何修改?
本工具生成的 PFX 和 JKS 文件默认密码为 123456。ZIP 包内的 README.txt 也有注明。
如需修改密码,可使用 OpenSSL 或 keytool 命令:
PFX 修改密码:openssl pkcs12 -in old.pfx -nodes | openssl pkcs12 -export -out new.pfx -passout pass:新密码
JKS 修改密码:keytool -storepasswd -new 新密码 -keystore xxx.jks -storepass 123456
生成的私钥安全吗?会被保存到服务器吗?
本工具使用 BouncyCastle 加密库在服务器内存中即时生成密钥对和证书,生成的 ZIP 直接以 File() 流方式返回给浏览器,不会在服务器磁盘上保存任何证书或私钥文件,也不会写入任何日志。请求结束后内存立即回收。但为了最高安全,仍建议在生产环境使用时自行保管私钥,切勿将 *.keyca.key*.pfx 泄露给他人或提交到公开代码仓库。
生成的证书能用来签发子证书吗?能做代码签名吗?
ZIP 中的 root-ca/ 目录包含了根CA的私钥(ca.key)和证书(ca.crt)。你可以使用这个根CA继续签发任意多的子证书(中间CA、服务器证书、客户端证书等),本工具已将 BasicConstraints 设置为 CA:TRUE,KeyUsage 包含 keyCertSign
但关于代码签名:本工具当前生成的服务器证书的 ExtendedKeyUsage 是 serverAuth + clientAuth(服务器/客户端身份验证),并非代码签名用途。如需代码签名证书,可手动使用 OpenSSL 配合根CA签发,或另行生成。