PEM 和 CRT 证书在线生成
在线生成自签名 X.509 证书,支持 RSA 2048/4096 密钥、自定义主题与 SAN 域名,输出 PEM 证书、私钥与 CRT 文件
主题信息(Subject DN)
密钥与有效期
SAN 主体备用名(每行一个域名)
SAN 让一张证书覆盖多个域名或 IP,现代浏览器优先校验 SAN 而非 CN
工具介绍与功能
本工具在浏览器本地生成自签名 X.509 v3 证书,适用于开发测试、内网 HTTPS、学习研究等场景。使用 jsrsasign 库完成 RSA 密钥对生成与证书签名,全过程不上传任何数据。
-
完整 DN 配置:CN、O、OU、C、ST、L 六个字段可自定义
-
双密钥强度:RSA 2048 与 4096 位可选,SHA-256 签名
-
SAN 扩展:支持多域名与 IP,符合现代浏览器要求
-
三种导出:PEM 证书、PEM 私钥、CRT 文件,均可复制或下载
安全保障
-
本地生成:密钥对与证书全部在浏览器内生成,不经过服务器
-
零上传:不记录、不存储、不上传任何输入或输出内容
-
标准算法:使用 RSA + SHA-256,符合 X.509 v3 规范
-
隐私优先:关闭页面即清除,刷新不留痕
常见问题
PEM 和 CRT 有什么区别?
PEM 和 CRT 都是 Base64 编码的证书文件格式,内容完全相同,只是文件扩展名不同。PEM(.pem)是通用扩展名,CRT(.crt)常见于 Unix/Linux 系统。不同服务器(Nginx、Apache、IIS)可能偏好不同扩展名,但内容可以互换。本工具同时提供两种扩展名下载,按需选择即可。
自签名证书能用于生产环境吗?
自签名证书不受公共 CA 信任,浏览器会显示"不安全"警告,因此不适合面向公网的生产环境。它适用于:本地开发测试(如 localhost HTTPS)、内网服务、学习研究、CI/CD 测试环境等。公网生产环境请使用 Let's Encrypt 等受信任 CA 签发的证书。
RSA 2048 和 4096 该选哪个?
RSA 2048 位是当前行业标准,安全性与性能均衡,NIST 认为其在 2030 年前安全。RSA 4096 位安全性更高但生成和握手更慢,适合对安全性有极高要求的场景。一般建议选择 2048 位即可;若需长期使用(10 年以上)可选 4096 位。
什么是 SAN?为什么需要填写?
SAN(Subject Alternative Name,主体备用名)是 X.509 v3 证书的扩展字段,用于指定证书覆盖的多个域名或 IP。自 2017 年起,Chrome、Firefox 等现代浏览器不再校验 CN 字段,只校验 SAN。因此即使 CN 填写了 example.com,也必须在 SAN 中列出该域名,否则浏览器不信任。每行一个域名或 IP,支持通配符(如 *.example.com)。
生成的私钥如何保管?
私钥(BEGIN PRIVATE KEY)是证书安全的核心,泄露后攻击者可伪造你的 HTTPS 身份。请遵循:1)下载后存放在受限目录,设置适当文件权限(如 600);2)切勿提交到 Git 等版本控制系统;3)不要通过邮件、聊天工具发送明文私钥;4)若怀疑泄露,立即重新生成证书并替换。