CSR 证书请求生成
CSR Generator
按主体字段和 SAN 条目生成证书签名请求以及配套的私钥。
在你的浏览器里生成密钥对和 PKCS#10 证书签名请求。私钥由这个标签页里的 WebCrypto 生成,从不发送到任何地方——这是唯一可接受的安排,因为一个看得到你私钥的 CSR 生成器,就是一个你没有选择的证书颁发机构。
密钥对由浏览器里的 WebCrypto 生成,私钥不会离开这个标签页。什么都不会发给服务器。
主域名。证书颁发机构实际是按下面的 SAN 列表签发的。
非 ASCII 的名称也可以,会编码成 UTF8String。
ISO 3166 的两个字母。
用换行或逗号分隔。域名、通配符、IP 地址、电子邮件地址。把证书需要覆盖的名字都写上。
怎么用
填写主体
CN 是主域名;O、OU、L、ST 和 C 是组织字段,公共 CA 签发域名验证证书时基本忽略它们。中文组织名没问题——它们以 UTF8String 编码。
把每一个名字都列进 SAN
这才是要紧的部分。浏览器完全忽略 CN,只读 SAN 列表(RFC 6125 §6.4.4),所以证书必须覆盖的每一个主机名都放在这里——顶点、www、通配符、IP 地址。
选密钥类型
RSA 2048 兼容性最好,RSA 3072 是 2030 年以后的推荐强度,EC P-256 密钥更短、握手更快,当前的环境都支持。
离开之前保存私钥
它只存在于这个标签页里。下载它,放到服务器上,并让文件除此之外谁都读不了——没有它,CSR 本身毫无用处。
常见问题
私钥真的留在这里吗?
是。WebCrypto 在标签页里生成密钥对,没有任何请求会把它带出去。下载之前关掉标签页它就没了——这和它安全的原因是同一个性质。
CN 填了,CA 却拒绝了请求
检查 SAN 列表。现在大多数 CA 要求每个名字都在里面,只有 CN 的请求被当作什么名字都没有。让"把 CN 也加入 SAN 列表"保持打开几乎总是对的。
能用它申请通配符证书吗?
能——把 *.example.com 放进 SAN 列表。注意它只覆盖一级:*.example.com 匹配 www.example.com,不匹配 a.b.example.com,也不匹配 example.com 本身,所以后者要单独列出。
为什么还给了一条 openssl 命令?
让你能交叉核对这里的结果,或者改在服务器上生成同样的请求。验证命令——openssl req -in server.csr -noout -text -verify——读回的正是你下载的文件里的内容。
可以从这些接进来
密钥对生成
Key Pair Generator
生成 RSA、ECDSA 或 Ed25519 密钥对,导出为 PEM、JWK 或 OpenSSH。
证书解码
Certificate Decoder
解析 PEM 或 DER 格式的证书和 CSR,显示主体、SAN、有效期、密钥用途和证书链线索。
SSL 证书检测
SSL Certificate Checker
连上主机,展示它下发的证书链、到期时间、协议和加密套件支持情况,并指出证书链里缺失的环节。
密钥库分析
Keystore Inspector
打开 PKCS#12、JKS 或 PEM 包,列出里面的证书、证书链和密钥算法。
接下来
这些工具吃得下当前工具的产出,结果可以直接送过去。
证书解码
Certificate Decoder
解析 PEM 或 DER 格式的证书和 CSR,显示主体、SAN、有效期、密钥用途和证书链线索。
密钥对生成
Key Pair Generator
生成 RSA、ECDSA 或 Ed25519 密钥对,导出为 PEM、JWK 或 OpenSSH。
SSL 证书检测
SSL Certificate Checker
连上主机,展示它下发的证书链、到期时间、协议和加密套件支持情况,并指出证书链里缺失的环节。
DNS 记录查询
DNS Lookup
通过 DoH 查询 A、AAAA、CNAME、MX、TXT、NS、SOA、SRV、CAA 和 PTR 记录,显示 TTL 和 DNSSEC 标志,解析器可选 Cloudflare 或 Google。
HTTP 请求调试
HTTP Request Builder
构造并发出带自定义请求头和请求体的 GET/POST/PUT/PATCH/DELETE/HEAD 请求,显示状态码、响应头、响应体和耗时,且从不转发 Cookie 和 Authorization。
HTTP 响应头检测
HTTP Header Inspector
请求一个网址,列出完整的响应头、跳转链路、各段耗时和实际用到的压缩方式。