在线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指向.crt,ssl_certificate_key指向.key,重载 nginx 即可。 - Apache:编辑
httpd-ssl.conf,使用SSLCertificateFile、SSLCertificateKeyFile、SSLCACertificateFile三个指令分别指向对应文件。 - IIS:服务器证书 → 导入 → 选择
.pfx文件(密码123456)→ 站点绑定 HTTPS 即可。 - Tomcat:PFX 或 JKS 任选其一,在
server.xml的Connector中配置certificateKeystoreFile和密码即可。 - 宝塔面板:网站 → 设置 → SSL → 其他证书,粘贴
fullchain.pem与privkey.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 中的
macOS:双击 ca.crt → 打开「钥匙串访问」→ 拖入「系统」→ 双击证书 → 信任 → 始终信任。
iOS:用邮件或 AirDrop 将 ca.crt 发送到手机 → 安装描述文件 → 设置 → 通用 → 关于本机 → 证书信任设置 → 开启对应根证书。
Android:设置 → 安全 → 从存储设备安装 → 选择 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(自动续期)或付费证书。
正规CA证书:由受信任的CA机构(Let's Encrypt/DigiCert/GeoTrust等)签发,所有浏览器和操作系统都会默认信任,优点是无需任何配置,所有用户访问均无警告。
结论:自签名证书仅适用于开发/测试/内网环境。生产环境(公网用户访问)强烈建议使用正规CA签发的证书,推荐免费的 Let's Encrypt(自动续期)或付费证书。
可以生成通配符证书(*.example.com)吗?支持 IP 吗?
都可以。
通配符证书:在「域名(CN)」处填写
IP 证书:直接填写 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 文件默认密码为
如需修改密码,可使用 OpenSSL 或 keytool 命令:
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() 流方式返回给浏览器,不会在服务器磁盘上保存任何证书或私钥文件,也不会写入任何日志。请求结束后内存立即回收。但为了最高安全,仍建议在生产环境使用时自行保管私钥,切勿将 *.key、ca.key、*.pfx 泄露给他人或提交到公开代码仓库。
生成的证书能用来签发子证书吗?能做代码签名吗?
ZIP 中的
但关于代码签名:本工具当前生成的服务器证书的 ExtendedKeyUsage 是
root-ca/ 目录包含了根CA的私钥(ca.key)和证书(ca.crt)。你可以使用这个根CA继续签发任意多的子证书(中间CA、服务器证书、客户端证书等),本工具已将 BasicConstraints 设置为 CA:TRUE,KeyUsage 包含 keyCertSign。但关于代码签名:本工具当前生成的服务器证书的 ExtendedKeyUsage 是
serverAuth + clientAuth(服务器/客户端身份验证),并非代码签名用途。如需代码签名证书,可手动使用 OpenSSL 配合根CA签发,或另行生成。