CSR 与自签名证书生成器
在浏览器中生成 RSA 或 ECDSA 私钥,并配套生成证书签名请求(CSR)或自签名 X.509 证书。
正在加载工具…
CSR 与自签名证书生成器 — 填写主题字段和需要的主题备用名称,选择 RSA 或 ECDSA,再决定是要生成发给证书颁发机构的证书签名请求(CSR),还是一份可直接使用的自签名 X.509 证书。新生成的私钥以及 CSR 或证书会以可复制的 PEM 块形式显示。每个密钥都通过 Web Crypto API 生成,并使用 pkijs 完全在浏览器内编码,因此私钥绝不会发送到任何服务器。
CSR 与自签名证书生成器 是什么?
这是一款免费的浏览器内工具,可生成一个私钥,外加证书签名请求(CSR)或自签名证书。CSR 是你发送给证书颁发机构(CA)签发为受信任 TLS 证书的文件,而自签名证书是你自己签发的,适合本地开发、内部服务或快速测试。开发者、DevOps 工程师和系统管理员在需要为某个域名申请证书、在预发布机上启用 HTTPS,或创建带有正确通用名称和 SAN 的临时证书时会用到它。你可以选择密钥算法(RSA 2048/3072/4096 或 ECDSA P-256/P-384),填写主题可分辨名称(通用名称、组织、国家等)和任意 DNS 主题备用名称,在 CSR 与自签名模式之间切换,然后点击「生成」。私钥始终以 PKCS#8 PEM 输出,并附带 PKCS#10 CSR 或 X.509 证书的 PEM,全部在本地生成。
如何使用 CSR 与自签名证书生成器
- 选择密钥算法:RSA(2048、3072 或 4096 位)或 ECDSA(P-256 或 P-384)。
- 填写主题字段,至少要填通用名称(CN),并按需填写组织、组织单位、国家、省份和城市。
- 如果证书需要覆盖多个主机名,请以逗号分隔的 DNS 名称列表填写主题备用名称。
- 用分段控件选择 CSR(发送给 CA)或自签名(可立即使用)。
- 点击「生成」,然后从输出块复制私钥 PEM 以及生成的 CSR 或证书 PEM。
- 把私钥妥善保存并保密;将 CSR 提交给你的 CA,或在需要的地方安装自签名证书。
示例
单域名的 RSA 2048 CSR
输入
算法:RSA 2048,CN:example.com,O:Example Inc,国家:US,模式:CSR
输出
一个 PKCS#8 私钥 PEM(-----BEGIN PRIVATE KEY-----)和一个 PKCS#10 CSR PEM(-----BEGIN CERTIFICATE REQUEST-----),可上传给证书颁发机构。
带多个 SAN 的 ECDSA P-256 自签名证书
输入
算法:ECDSA P-256,CN:localhost,SAN:localhost, dev.local, 127.0.0.1,模式:自签名
输出
一个私钥 PEM 加上一份 X.509 证书 PEM(-----BEGIN CERTIFICATE-----),涵盖所有列出的 SAN 条目,可直接用于本地 HTTPS。
用于更严格策略的 RSA 4096 CSR
输入
算法:RSA 4096,CN:api.example.org,O:Example Org,OU:Platform,模式:CSR
输出
一个更长的 4096 位私钥 PEM 和一个完整编码了主题可分辨名称的匹配 CSR PEM。
常见问题
- 我的私钥会被发送到任何地方吗?
- 不会。密钥对通过 Web Crypto API 生成,并使用 pkijs 完全在浏览器内编码。没有任何内容会上传到或存储在任何服务器上,因此私钥绝不会离开页面,工具加载后即可离线使用。
- CSR 和自签名证书有什么区别?
- CSR(证书签名请求)是你发送给证书颁发机构的请求,机构会将其签发为受信任证书。自签名证书由其自身密钥签发,没有外部机构,因此浏览器默认不信任它,但它非常适合本地开发和内部测试。
- 支持哪些密钥算法和长度?
- RSA 支持 2048、3072 或 4096 位,ECDSA 支持 P-256 或 P-384 曲线。RSA 兼容性最广;ECDSA 生成的密钥更小、更快,现代系统都支持。
- 输出是什么格式?
- 私钥为 PKCS#8 PEM(-----BEGIN PRIVATE KEY-----)。CSR 为 PKCS#10 PEM(-----BEGIN CERTIFICATE REQUEST-----),自签名证书为 X.509 PEM(-----BEGIN CERTIFICATE-----)。从各自的输出区域复制每个块。
- 如何添加多个主机名?
- 在主题备用名称字段中以逗号分隔的 DNS 名称列表填写,例如 example.com, www.example.com, api.example.com。每一个都会成为请求或证书中的一条 dNSName SAN 条目。