CSR解码器

在把PKCS#10证书签名请求提交给CA之前先解码一遍:主题信息、请求的SAN、密钥长度、签名算法,以及签名验证。

CSR解码器完全在你的浏览器中运行。请求内容在你的设备上解码,绝不会上传。

由 Udit Agarwal 开发和维护

打开X.509证书解码器

关于 CSR解码器

CSR解码器能在你把证书签名请求提交给证书颁发机构之前,准确展示这个请求究竟包含了什么内容。粘贴PEM格式的内容,就能逐字段查看主题的可分辨名称,请求的主题备用名称——由于浏览器会忽略CN字段,这部分内容才真正决定了证书会保护哪些主机名——公钥的类型和长度,以及签名算法。这个解码器还会验证CSR自身的签名,这是发现经典问题的最快方式:请求内容在从生成它的服务器到你粘贴到的表单之间被截断或篡改。工具还会针对CA会拒绝的情况发出警告:低于2048位的RSA密钥,以及缺失SAN字段。

功能特性

  • 以带标签的字段形式展示完整的可分辨名称
  • 展示请求的主题备用名称:DNS、IP、邮箱
  • 展示密钥类型和长度:RSA、带曲线信息的EC、Ed25519
  • 明确给出签名算法的名称,而不只是一串OID
  • 通过自签名验证发现被截断的粘贴内容
  • 能识别出被误粘贴的证书或私钥

如何使用 CSR解码器

  1. 粘贴CSR的PEM内容,或加载示例数据
  2. 重点检查主题信息,尤其是SAN列表
  3. 确认密钥长度和签名算法是否符合CA的要求
  4. 看到绿色签名徽章,就说明粘贴内容完整无误

示例

输入

CSR for example.com

输出

CN=example.com · SANs: example.com, www.example.com · RSA 2048 · SHA256withRSA · signature verifies

SAN列表才是这份证书真正会保护的内容。

常见错误与故障排除

  • 签名无法通过验证。 — 内容字节在生成之后被改动了——通常是粘贴时被截断、编辑器自动重新换行,或者是来自文档的花引号导致的。请直接从生成该请求的机器上的原始文件重新复制。
  • CN字段写明了域名,但没有找到SAN。 — 浏览器多年前就已经不再看CN字段了;从没有SAN的CSR签发出来的证书无法保护任何内容。请添加包含每一个主机名(包括www子域名)的subjectAltName扩展后重新生成。
  • 解码器提示粘贴的内容是证书而不是CSR。 — BEGIN CERTIFICATE和BEGIN CERTIFICATE REQUEST是两种不同的对象。已签发的证书请使用X.509解码器;这个工具读取的是签发之前的请求文件。

常见问题

什么是CSR,它里面包含什么内容?
这是一份PKCS#10证书签名请求:包含你的公钥、所声明的身份信息(主题和SAN),以及用你的私钥生成的自签名,用以证明你确实拥有这把私钥。CA会验证这份请求后签发证书——私钥本身永远不会离开你的服务器。
为什么SAN比CN更重要?
浏览器只会根据SAN列表来验证主机名,CN只是遗留下来的装饰性字段。没有SAN的CSR签发出来的证书,任何浏览器都不会接受它对应任何域名——这是最常见的CSR错误,也是这里首先要检查的地方。
签名验证能证明什么?
它能证明这份请求内部是一致的:内嵌的公钥能够验证CSR自身的签名,说明这些字节确实是私钥持有者生成的。验证失败几乎总是意味着粘贴过程中内容被截断,而不是遭遇了密码学攻击。
把CSR粘贴到浏览器工具里安全吗?
按设计来说,CSR只包含公开信息——而且这个解码器会在你的设备上进行解析,完全不涉及任何上传。与之一起生成的私钥则是另一回事:它永远不会去任何地方。

相关工具

更多安全工具

  • PDF 隐私扫描 — 找出 PDF 里隐藏的元数据与个人信息。
  • PDF 自动涂黑 — 找出邮箱、电话以及卡号或证件号,并把它们涂黑。
  • 解除 PDF 限制 — 看清 PDF 禁止了什么,并在有权时解除这些权限。
  • PDF 净化 — 清除 PDF 里的 JavaScript、自动动作、内嵌文件等活动内容。
  • JWT 解码器 — 解码 JWT 的头部和载荷,并查看 exp/iat(不做验证)。
  • 哈希生成器 — 通过 Web Crypto API 生成 SHA-256 / SHA-1 / SHA-384 / SHA-512。
  • 密码生成器 — 生成强随机密码并附带强度指示器(加密安全)。
  • SSH 密钥生成器 — 在浏览器中生成 Ed25519、RSA 或 ECDSA 的 SSH 密钥对并下载。
  • PPK ↔ PEM 转换工具 — 在浏览器中本地将 SSH 私钥在 PuTTY .ppk 与 OpenSSH/PEM(RSA 和 Ed25519)之间转换。
  • TOTP / 2FA 生成器 — 从 base32 密钥生成基于时间的一次性密码(2FA 验证码)。
  • JWT 签名工具 — 从载荷和密钥创建并签名 JWT(HS256/384/512)——使用 Web Crypto。
  • Basic Auth 生成器 — 根据用户名和密码生成并解码 HTTP Basic Auth 授权头。

查看全部安全工具 (27) · 全部工具