Wait! Don't Leave Without Securing Your Site
Get enterprise - grade SSL certificates at a fraction of retail prices.
Save 10% on your first order, by entering coupon code SAVE10 during checkout.

PKCS#10 是定义 CSR 格式的标准,规定于 RFC 2986 中。它规定了证书申请包含哪些字段以及这些字段的结构方式,这正是为什么同一个 CSR 可以用于任何证书颁发机构(CA),而不是只能绑定在您购买证书的那家 CA 上。
复制链接
因为该字段已不再被允许使用。CA/Browser论坛的SC47提案规定,自2022年9月1日起,公开信任的TLS证书中禁止包含Organizational Unit(组织单位)字段,原因是CA无法可靠地验证部门名称的真实性。您在生成CSR时仍然可以填写OU字段,解码器也会显示该内容,但CA在签发证书前会将其移除。这属于正常情况,并非出现错误。
复制链接
Subject Alternative Name(SAN,主题备用名称)是一种扩展字段,用于列出证书涵盖的所有主机名。现代浏览器只读取 SAN 列表,完全忽略 Common Name(通用名称),因此如果某个域名只出现在 Common Name 中而不在 SAN 列表里,验证就会失败。大多数公共 CA 在签发证书时会自动将 Common Name 复制到 SAN 列表中,但请向您的 CA 确认这一点,而不要仅凭假设行事。如果您需要在一张证书上使用多个主机名,请将它们全部列出。
复制链接
主体(Subject),也称为可分辨名称(Distinguished Name),其中包含通用名称(Common Name)、组织(Organization)、组织单位(Organizational Unit)、所在地(Locality)、州/省(State)和国家(Country)。公钥及其算法(RSA 或 ECDSA)以及密钥的位数大小。请求签名所使用的签名算法。此外,如果请求中包含,还会列出主题备用名称(Subject Alternative Names),列明证书将覆盖的每一个域名。
复制链接
不需要。请按照服务器生成的编码文本原样提交,包括头部和尾部行。CA会在他们那边解析它。解码是为了您自己的利益,而不是他们的:这是您在CA将您的错误变成证书之前,发现错误域名或两位国家代码的方式。
复制链接
是的。openssl req -in example.csr -noout -text 会将解码后的内容打印到您的终端。加上 -verify 还可以检查 CSR 的自签名。有关输出中各部分的含义,请参阅上面的 OpenSSL 部分。
复制链接
不能,因为CSR并未被加密。这是关于证书请求最常见的误解之一。CSR是经过Base64编码的ASN.1数据,任何人都可以在没有密钥和密码的情况下对其解码。它包含的是您的公钥,而绝非私钥。人们所说的”解密CSR”实际上指的是解码,而这正是本工具和openssl req命令所执行的操作。
复制链接
CSR 解码器从证书签名请求中获取编码数据并将其翻译成纯文本,让你了解每个字段的含义以及编码值代表的意义。
复制链接
CSR 解码器是一种工具,用于读取证书签名请求并以易懂的语言显示其内容。它会还原使 CSR 内容难以肉眼阅读的 Base64 和 ASN.1 编码,然后标注每个字段:通用名称(Common Name)、组织(Organization)、组织单位(Organizational Unit)、城市(Locality)、州/省(State)、国家(Country)、公钥算法、密钥长度、签名算法以及所有的主题备用名称(Subject Alternative Names)。您可以使用它在提交请求之前进行验证,或用来查明已有证书出现异常行为的原因。
复制链接
将其粘贴到 CSR 解码器中(有时也称为 CSR 查看器或 CSR 阅读器),然后阅读带标签的输出内容。CSR 看起来像是一大段杂乱无章的字符,因为它是经过 Base64 编码的二进制数据,所以直接用文本编辑器打开该文件是看不出任何有用信息的。如果你更喜欢使用命令行,openssl req -in example.csr -noout -text 可以打印出同样的信息。
复制链接