# CSR 解码器

在将 PKCS #10 证书签名请求发送给证书颁发机构之前对其进行解码。粘贴 PEM 块或 base64 DER，即可查看主题、公钥类型和大小、签名算法、请求的自签名验证是否通过、SPKI SHA-256 固定值，以及请求的扩展，例如主题备用名称、密钥用法、扩展密钥用法和基本约束。

## 常见问题

### 什么是证书签名请求？

CSR 是一种 PKCS #10 结构，其中包含你的公钥、你希望写入证书的主体名称和可选扩展，并由你的私钥签名。证书颁发机构会读取它来签发证书。私钥不会离开你的服务器。

### 支持哪些输入格式？

粘贴以 -----BEGIN CERTIFICATE REQUEST----- 或较旧的 -----BEGIN NEW CERTIFICATE REQUEST----- 开头的 PEM 块，或者粘贴不带标头、以 base64 编码的原始 DER。只会解码输入中的第一个请求。

### 签名检查结果说明什么？

CSR 使用与其中公钥对应的私钥签名。签名有效，说明该请求由持有该私钥的人创建，且之后未被篡改。签名无效通常意味着文件被编辑或损坏。

### 为什么我的 CSR 没有显示主题备用名称？

浏览器会忽略通用名称，并要求在主题备用名称扩展中列出域名。如果解码器没有列出任何名称，说明请求未包含 extensionRequest 属性。许多 CA 会自行添加这些名称，但使用 OpenSSL 时，你可以通过 -addext "subjectAltName=DNS:example.com,DNS:www.example.com" 添加它们。

### 什么是 SPKI pin？

它是请求中 SubjectPublicKeyInfo 的 base64 SHA-256 哈希。从此 CSR 签发的证书会携带相同的公钥，因此也具有相同的 pin，你可以据此确认证书对应你的密钥。

### 可以识别哪些密钥类型？

RSA 请求会显示模数大小，EC 请求会显示曲线（例如 P-256 或 P-384），Ed25519 和 Ed448 密钥则会直接显示名称。签名算法会连同其哈希算法一起显示，例如带 SHA-256 的 RSASSA-PKCS1-v1_5 或带 SHA-384 的 ECDSA。

### 是否会显示质询密码等属性？

除扩展请求以外的属性都会按名称列出。结果会显示已设置质询密码，但不会打印其值。未知属性会显示其对象标识符。

### 什么是关键扩展？

标记为关键的扩展必须能被任何处理该证书的软件理解，否则证书会被拒绝。解码器会标记此类扩展，基本约束和密钥用法通常属于此类。

### CSR 会被保存吗？

不会。请求只会在内存中解码，不会记录或保存。CSR 只包含公开数据，因此在线解码不会暴露你的私钥。

### 有尺寸限制吗？

输入最多可包含 65,536 个字符，远超任何常规 CSR 所需长度。典型的 RSA 2048 请求以 PEM 格式表示时约有 1,000 个字符。

在这里投放广告？

[给我们发邮件](mailto:hi@dennn.is?subject=%E5%9C%A8%20OneClick%20Pro%20%E4%B8%8A%E6%8A%95%E6%94%BE%E5%B9%BF%E5%91%8A)

[广告 适用于 WordPress 的智能体就绪型插件套件。](https://sleekwp.com/?ref=oneclickpro)
