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 与自签名证书生成器

  1. 选择密钥算法:RSA(2048、3072 或 4096 位)或 ECDSA(P-256 或 P-384)。
  2. 填写主题字段,至少要填通用名称(CN),并按需填写组织、组织单位、国家、省份和城市。
  3. 如果证书需要覆盖多个主机名,请以逗号分隔的 DNS 名称列表填写主题备用名称。
  4. 用分段控件选择 CSR(发送给 CA)或自签名(可立即使用)。
  5. 点击「生成」,然后从输出块复制私钥 PEM 以及生成的 CSR 或证书 PEM。
  6. 把私钥妥善保存并保密;将 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 条目。

相关工具