CSR & Certificate Decoder
One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run · Ctrl+Shift+C Copy · Esc Clear
Understand CSR & Certificate Decoder
解析 PEM 格式的证书签名请求或 X.509 证书,显示其主体、密钥算法与长度、主体备用名称和签名算法。
How it works
CSR 和证书都是以 DER 编码的 ASN.1 结构,用 base64 包裹在 PEM 头尾行之间。解码器剥掉这层外壳,遍历 ASN.1,读出实践中要紧的字段:主体可分辨名称(CN、O、OU、C)、指明密钥算法及其长度的 SubjectPublicKeyInfo 块、列出证书将覆盖的每个主机名的 subjectAltName 扩展,以及用于签名的算法。解析在页面内完成,因此不会上传任何内容。
When to use it
- 在付费让 CA 签名之前,确认 CSR 携带的通用名和 SAN 列表无误。
- 当签发机构以密钥太短为由拒绝时,查明这份 CSR 是用多长的密钥生成的。
- 读取一张因主机名不匹配而被浏览器拒绝的证书的 SAN 列表。
- 审查自动化工具或同事实际放进请求里的内容。
- 当某个客户端拒绝接受 SHA-1 时,确认证书的签名算法。
Watch out for
- 现代客户端忽略通用名,只用 subjectAltName 匹配主机名。一份写着 CN=example.com 却没有 SAN 条目的 CSR,签出的证书会被浏览器直接拒绝,无论主体字段看上去多么正确。
- 一个通配符 SAN 只覆盖一级标签。*.example.com 匹配 api.example.com,却不匹配 example.com 本身,也不匹配 a.b.example.com,这正是通配符证书常常还需要把裸域名列为第二个 SAN 的原因。
- 读取结构不等于验证它。这里显示的是各字段写了什么;它不会校验 CSR 的自签名、到受信根的证书链,也不会检查吊销状态。
- CSR 只包含公钥这一半。这里的任何操作都无法恢复私钥,而一张已签发的证书离开生成其 CSR 的那把确切私钥就毫无用处——丢了那把私钥,请求就得重做一遍。
Not the right tool for: 判断一张证书是否值得信任。链路构建、吊销检查和信任库校验是客户端的工作;那些请用 openssl verify 或浏览器里的证书查看器来做。
Frequently Asked Questions
如何解码 CSR?
粘贴整个 PEM 块,包括 BEGIN 和 END 行,详情会立即显示:主体字段、密钥算法与长度、主体备用名称,以及签名算法。请求在你的浏览器中解析,不会被上传到任何地方。
如何查看一份 CSR 覆盖了哪些域名?
看主体备用名称,它们在这里单独成一节列出。现代浏览器完全忽略 Common Name,因此没有 SAN 条目的 CSR 会签出一张与任何主机名都不匹配的证书——遇到这种情况时工具会给出警告。
可以在不把 CSR 发给某个网站的情况下检查它吗?
这正是本工具所做的事。ASN.1 和 DER 解析由运行在你标签页中的 JavaScript 完成,全程没有任何网络请求。一份 CSR 陈述的是你即将拿去签名的身份,因此不把它粘进你无法掌控的服务器是值得的。
How to Use CSR & Certificate Decoder
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.