解码与转换

CSR 在线解析

粘贴 CSR,查看它请求的域名、密钥和扩展,校验签名,在提交给 CA 之前发现错误。

浏览器本地运行 你输入的内容只在本地用 JavaScript 处理,不会上传到 ssl.sh。

最后核实

CSR 解析工具读取证书签名请求,告诉你它到底要求 CA 在证书里写什么。粘贴以 -----BEGIN CERTIFICATE REQUEST----- 开头的 CSR(或选择 .csr 文件),工具会列出各字段、校验签名并提示常见错误。全部在浏览器里运行。

怎么用

  1. 粘贴 CSR 或选择文件。
  2. 粘贴完整后自动解析,也可以点 解析。
  3. 有警告就重新生成 CSR,再提交给 CA。

检查哪些内容

  • 签名:CSR 用私钥自签名,校验失败说明内容被改过或损坏了(复制时少了字符很常见)。
  • SAN:浏览器只信任 SAN 里的名字。没有 SAN 的 CSR 只能指望 CA 把 CN 复制进去,大多数 CA 会这样做,但不是全部。
  • 密钥强度:公开 CA 会拒绝小于 2048 位的 RSA 密钥。
  • 签名哈希:SHA-1 已经不被接受,要用 SHA-256 或更强的算法。
  • OU:2022 年 9 月起公开 CA 不再写入 OU,可能直接拒绝。

下一步

证书签发后,用私钥匹配工具确认它和你保存的私钥是一对,再用证书解析工具核对签发的域名。要重新生成 CSR,用 CSR 生成器。

常见问题

CSR 里有私钥吗?

没有。CSR 只包含公钥,并用私钥签了名,可以放心发给 CA 或粘贴到云厂商的证书申请页面。

CA 说我的 CSR 无效,要查什么?

确认复制完整,包括 BEGIN 和 END 两行;密钥至少是 RSA 2048 或 ECDSA P-256;域名写法正确。有些 CA 会拒绝带 OU 或含有它不支持字符的 CSR。

CSR 生成后还能改吗?

不能,一改签名就失效。用同一个私钥重新生成(openssl req -new -key ...),或者换个新私钥重新生成。

资料来源

  1. RFC 2986: PKCS #10
  2. RFC 5280: X.509 证书
  3. OpenSSL req 命令