CSR 生成器

本页在浏览器内创建密钥对并用它签署 PKCS#10 认证请求。结束时你会得到两个文件:形如 -----BEGIN PRIVATE KEY-----(PKCS#8)的私钥,和形如 -----BEGIN CERTIFICATE REQUEST----- 的请求,外加 CA 门户通常要求的原始 DER 格式。填写主体字段,添加证书需要覆盖的名称,按生成,然后只把请求交给你的证书颁发机构 — 密钥文件留在你手里。
1. 密钥
RSA 2048 bit, signed with SHA-256.
RSA 2048 处处被接受,是安全的默认选择。3072 和 4096 生成耗时更长 — 慢机器上 RSA 4096 可能需要几秒,本页会显示已用时间,你可以先去忙别的。
2. 主体
留空的字段完全不会写入请求。CN 限制为 64 个字符,而且商业 CA 越来越忽略它 — 它们和浏览器检查的是下方的主体备用名称。
3. 主体备用名称
每行一条。不带前缀的行视为 DNS 名称,所以 www.example.com 与 dns:www.example.com 含义相同;像 192.0.2.10 这样的地址字面量即使不带前缀也会被当作 IP 地址。可识别的前缀有 dns:、ip:、email: 和 uri:。通配符只允许出现在最左侧标签(*.example.com),因为放在别处浏览器会忽略。
4. 生成
尚未生成
尚未生成任何内容。至少填写一个通用名称,按生成密钥和请求,私钥和请求就会出现在这里,并附带保存按钮。
请将这对密钥用于测试、内部服务和学习。网页中生成的密钥的安全性取决于运行它的机器,而你下载的私钥是未加密的:任何打开该文件的人就拥有你的密钥。对于公共互联网必须信任的证书,请让你的证书颁发机构或你自己的服务器生成密钥,并把它保存在无法被复制的地方。
什么是 CSR:PKCS#10 请求携带你的公钥、你填写的名称字段和证书应覆盖的名称,整体用你的私钥签名。签名正是证明请求在送往 CA 的路上未被篡改的部分。你的私钥不属于请求的一部分,也无法从请求中还原。

本页不做的事:它不联系 CA、不注册任何内容,也无法告诉你 CA 是否接受这些字段 — 每个 CA 都在标准之上叠加自己的规则。它也不加密密钥文件;如需加密,请用你自己的工具把密钥包进 PKCS#8 加密或 PKCS#12 容器。

隐私:密钥对由浏览器自己的加密功能生成,请求也在此签署。不上传、无服务器、无 Cookie、无统计 — 从本地文件打开本页同样可用。解码结果时,证书解码器同样不进行任何网络访问。

然后呢:把请求粘贴到 CA 的订单表单,或在自签名证书生成器上自行签署,看看从密钥到证书的完整路径。