WMW

CSR 查看器

Free

解码 PEM 编码的证书签名请求(PKCS#10):Subject、公钥、签名算法和 Subject Alternative Names,然后验证其自签名是否真正有效。

完全在您的浏览器中运行。您的 CSR 永远不会被上传到任何地方,即使是签名验证也不例外。

最近活动

所有人可见。所有访客的最近 20 次使用记录,最新的在前。

Parsed a CSR and checked its self-signature.

2 小时前

Parsed a CSR and checked its self-signature.

2 小时前

Parsed a CSR and checked its self-signature.

2 小时前

Parsed a CSR and checked its self-signature.

2 小时前

Parsed a CSR and checked its self-signature.

2 小时前

评论 (0)

觉得这个工具有用吗?留下评论、分享一个小技巧,或者告诉我们如何改进它。

访客评论在发布前会经过审核。 登录 即可立即发布。

暂无评论,快来抢沙发分享您的想法吧!

此工具的功能

CSR 查看器会解码 PEM 编码的证书签名请求(PKCS#10),以纯文本显示其 Subject 字段、公钥详情、签名算法和 Subject Alternative Names,然后检查该 CSR 的自签名是否真正对其包含的公钥有效。

工作原理

CSR 是一个经 DER 编码并封装在 PEM base64 中的 ASN.1 结构。此工具逐字节解码该结构:它读取每个嵌套的 TLV(标签-长度-值)元素,逐层解析出 Subject 专有名称、SubjectPublicKeyInfo 块(RSA 模数与指数,或 EC 曲线与点)、包含 Subject Alternative Names 的可选 extensionRequest 属性,以及外层的签名算法与签名字节,全部在客户端完成,不依赖任何服务器端 ASN.1 库。

为检查自签名,此工具使用浏览器的 Web Crypto API 重新导入 CSR 自身的公钥,并要求其根据 CertificationRequestInfo 区块的确切字节(即签名实际覆盖的全部内容)验证签名。对于 ECDSA 签名,会先将 DER 编码的 r/s 值转换为 Web Crypto 所期望的定长原始格式。匹配表示持有私钥的人确实生成了这个确切的 CSR;不匹配则表示它在签名后被更改或组装错误。

解决的问题

常见问题

›此工具会看到我的私钥吗?

不会。CSR 永远不会包含您的私钥,它只包含您的公钥、身份信息以及用私钥生成的签名。此工具只读取您粘贴的内容,完全在您的浏览器中运行,绝不会向服务器发送任何数据,因此即使不小心粘贴了 CSR,也没有任何敏感信息会泄露。

›“自签名有效”检查到底证明了什么?

这证明了 CSR 是由持有与其中公钥匹配的私钥的人签署的,换言之,CSR 自生成以来未被篡改或损坏。但这并不能证明 Subject 字段(公司名称、域名等)是真实的;验证身份是证书颁发机构在签发时的职责,不是 CSR 本身能够证明的事情。

›为什么有些 CSR 会显示“无法验证(此浏览器不支持该算法)”?

浏览器使用 Web Crypto API 验证签名,该 API 仅支持特定的一组算法。此工具支持常见的算法(配合 SHA-1/256/384/512 的 RSA 和 ECDSA),但使用该范围之外的罕见或旧版算法签名的 CSR 无法在客户端验证;其他字段仍可正常解码。

›为什么我的 CSR 没有 Subject Alternative Names?

SAN 在 CSR 中是可选的,只有在生成 CSR 时明确请求过(例如通过 openssl 的 -addext "subjectAltName=..." 选项,或配置文件中的 [alt_names] 部分)才会出现。许多 CSR,尤其是较旧或手动创建的 CSR,根本从未请求过任何 SAN。

›CSR 和证书有什么区别?

CSR 是您生成并发送给证书颁发机构(CA)的请求;它本身永远不会被安装在服务器上。证书则是 CA 在验证您的身份后返回的内容,它包含与 CSR 相同的公钥和 Subject 信息,外加 CA 自己的签名、有效期和序列号。

相关工具