CSR 证书请求生成
填写证书信息,在本机生成 RSA 私钥和 PKCS#10 CSR。私钥留在你手里,只需把 CSR 交给 CA 签发。
私钥在浏览器本机生成,不会上传到任何服务器。请自行妥善保存:一旦泄露,必须重新签发证书;一旦丢失,已签发的证书将无法续期。
已识别 0 个 SAN:域名 0 个、IP 0 个。现代浏览器只看 SAN,Common Name 已经不再参与校验。
CSR 和自签证书不是一回事
CSR 是「申请单」:里面只有你的公钥和身份信息,加上一个用私钥做的签名,证明这两样东西确实配套。它本身不是证书,浏览器也不认。要把 CSR 交给 CA(比如 Let's Encrypt、DigiCert 或公司内部的 PKI),CA 核实你的域名/单位之后,用 CA 自己的私钥签发一张证书给你,证书里才会有 CA 的签名。自签证书则是自己给自己签,浏览器默认不信任,只适合内网和测试。
为什么 SAN 是必需的
早期证书靠 Common Name 判断域名,但一个证书只能写一个 CN,还会被随意解释。RFC 6125 之后,所有主流浏览器都改成只看 Subject Alternative Name:CN 只作为显示用途,不再参与校验。也就是说,证书要覆盖 example.com 和 www.example.com,就必须把两个都写进 SAN,只写 CN 会直接被拒绝。IP 地址访问也要单独写进 SAN,类型选 IP。
密钥长度怎么选
2048 位是目前最稳妥的默认值,兼容性和速度都最好,绝大多数网站都用它。3072 位强度更高,但握手时更费 CPU;4096 位生成时间明显变长,老旧设备和低端手机会拖慢首屏,除非合规上有硬性要求,否则没必要上 4096。真要追求强强度和性能兼得,可以考虑直接用 ECDSA 证书,本页目前只生成 RSA。
生成后怎么用
把 CSR 内容提交给 CA,签发完成后你会拿回证书文件(PEM 或 CRT)。配置服务器时把证书和这里的私钥配成一对即可。私钥文件建议设成 chmod 600 并限制属主,不要提交进 Git、不要贴到聊天工具里。本页生成的所有内容都只在浏览器内存中,刷新页面就没了,记得先下载。