CSR 生成器(证书签名请求)
在浏览器中生成证书签名请求(CSR)和私钥:支持 RSA 或 ECDSA、主体字段和 SAN,并给出对应的 openssl req 命令。
证书签名请求(CSR)是你为获取 SSL/TLS 证书而发送给证书颁发机构(CA)的文件。它包含你的公钥、域名和组织信息,并由对应的私钥签名。这个生成器在浏览器中生成密钥对,构建带有主体备用名称的标准 PKCS#10 请求并检查其签名;如果你更想在服务器上运行,也会给出等效的 openssl 命令。
使用方法
- 在通用名称中填主域名,在 SAN 中填其他域名或 IP。
- 填写组织、城市、省/州和两位字母的国家代码(域名验证型证书可留空)。
- 选择 ECDSA P-256 或 RSA,然后点击按钮。
- 把 CSR 提交给 CA,并妥善保存私钥文件;你会把它与签发的证书一起安装。
计算公式
CSR = SEQUENCE { CertificationRequestInfo { version 0, subject, SubjectPublicKeyInfo, attributes { extensionRequest { subjectAltName } } }, signatureAlgorithm, signature }
签名是对 DER 编码的请求信息做的 SHA-256 的 ECDSA(P-384 用 SHA-384),或 SHA-256 的 RSA PKCS#1 v1.5。它证明你持有私钥,CA 在签发前会检查它。
示例
CN 为 www.example.com,SAN 为 example.com 和 192.0.2.10,组织为示例有限公司、北京、CN 时,请求的主体读作 C=CN, ST=北京, L=北京, O=示例有限公司, CN=www.example.com,其 SAN 为 DNS:www.example.com, DNS:example.com, IP Address:192.0.2.10,与 openssl req -text 显示的行相同。
常见问题
应该在浏览器里生成私钥吗?
私钥由浏览器的 Web Crypto API 生成,不会发送到任何地方。不少管理员仍倾向于直接在服务器上运行这里给出的 openssl 命令,让密钥不在任何其他地方出现;两种方式得到的 CSR 是等效的。
选 RSA 还是 ECDSA?
ECDSA P-256 密钥小而快,当前所有浏览器和 CA 都支持。如果必须兼容旧客户端或设备,请选择 RSA 2048 或 3072。
有了通用名称,为什么还需要 SAN?
自 2017 年起浏览器已忽略通用名称,只匹配主体备用名称,所以每个主机名都必须列在其中。把 CN 复制到 SAN 的选项默认是开启的。
资料来源
最后更新:
包含这些输入的页面地址: https://kakao.mobile/zh/tools/csr-generator/
引用此工具
kakaoCalc. (2026, November 8). CSR 生成器(证书签名请求). https://kakao.mobile/zh/tools/csr-generator/
“CSR 生成器(证书签名请求).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/csr-generator/.