CSR解码器
在把PKCS#10证书签名请求提交给CA之前先解码一遍:主题信息、请求的SAN、密钥长度、签名算法,以及签名验证。
CSR解码器完全在你的浏览器中运行。请求内容在你的设备上解码,绝不会上传。
打开X.509证书解码器
关于 CSR解码器
CSR解码器能在你把证书签名请求提交给证书颁发机构之前,准确展示这个请求究竟包含了什么内容。粘贴PEM格式的内容,就能逐字段查看主题的可分辨名称,请求的主题备用名称——由于浏览器会忽略CN字段,这部分内容才真正决定了证书会保护哪些主机名——公钥的类型和长度,以及签名算法。这个解码器还会验证CSR自身的签名,这是发现经典问题的最快方式:请求内容在从生成它的服务器到你粘贴到的表单之间被截断或篡改。工具还会针对CA会拒绝的情况发出警告:低于2048位的RSA密钥,以及缺失SAN字段。
功能特性
- 以带标签的字段形式展示完整的可分辨名称
- 展示请求的主题备用名称:DNS、IP、邮箱
- 展示密钥类型和长度:RSA、带曲线信息的EC、Ed25519
- 明确给出签名算法的名称,而不只是一串OID
- 通过自签名验证发现被截断的粘贴内容
- 能识别出被误粘贴的证书或私钥
如何使用 CSR解码器
- 粘贴CSR的PEM内容,或加载示例数据
- 重点检查主题信息,尤其是SAN列表
- 确认密钥长度和签名算法是否符合CA的要求
- 看到绿色签名徽章,就说明粘贴内容完整无误
示例
输入
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只包含公开信息——而且这个解码器会在你的设备上进行解析,完全不涉及任何上传。与之一起生成的私钥则是另一回事:它永远不会去任何地方。
相关工具
- X.509 证书解码器 — 把 PEM 或 DER 证书解码为详情和指纹
- 证书与私钥匹配工具 — 检查 SSL 证书与私钥是否配对,并显示公钥指纹。
- SSH 密钥生成器 — 在浏览器中生成 Ed25519、RSA 或 ECDSA 的 SSH 密钥对并下载。
- PFX 转 PEM 提取工具 — 打开受密码保护的 .pfx/.p12,拆分为证书、链和私钥 PEM。
- PPK ↔ PEM 转换工具 — 在浏览器中本地将 SSH 私钥在 PuTTY .ppk 与 OpenSSH/PEM(RSA 和 Ed25519)之间转换。
- 哈希生成器 — 通过 Web Crypto API 生成 SHA-256 / SHA-1 / SHA-384 / SHA-512。
全部 ArrayKit 工具