X.509 证书生成器(自签名 / CA 签名,支持文件读取)
关于此工具
在浏览器(Web Crypto API)中生成 RSA 密钥,以创建自签名证书以及由现有 CA 私钥签名的CA 签名证书。
- 密钥类型:RSA 2048 / 3072(RSASSA-PKCS1-v1_5 + SHA-256)
- Subject(CN、O、OU、C、ST、L)字段使用 UTF-8
- 支持 SAN(DNS、IP)
- 扩展:basicConstraints / keyUsage / extendedKeyUsage / SubjectKeyIdentifier / AuthorityKeyIdentifier
- 输出:证书(DER .crt / PEM)、私钥(PKCS#8 PEM)、整合包(PEM)
在 CA 签名模式下,可以直接从文件中读取 .crt(DER/PEM) 和 .key(PKCS#8 PEM)。借此可将自建根证书预先安装在内部设备上,而为各服务器签发证书时无需重新导入密钥。全部处理都在浏览器内完成(不会发送任何数据)。
配置
主题 / 颁发者
主题备用名称
扩展
CA 签名模式的输入
输出
序列号 / 指纹
证书(PEM)
私钥(PKCS#8 PEM)
构建自有证书链的步骤
- 创建根 CA(模式:自签名,配置:CA)。
保存生成的root.crt
(DER)和private.key
。 - 签发服务器证书(模式:由 CA 签名,配置:服务器)。
在「CA 证书文件」中选择root.crt
,在「CA 私钥文件」中选择private.key
。
在 SAN 中填入目标 DNS/IP 并点击“生成”。
使用生成的cert.crt
(服务器)和private.key
(服务器)。 - 在客户端将
root.crt
导入受信存储(Firefox 使用独立存储)。
在服务器上部署服务器证书及私钥,并按需附带链。
注意事项
- 启用 CA 标志(basicConstraints=CA)时,同时启用 keyUsage 的 keyCertSign。
- 根 CA 私钥应离线保管。
- 不支持加密的 PKCS#8(BEGIN ENCRYPTED PRIVATE KEY)。