CSR 在线生成
CSR(Certificate Signing Request,证书签名请求)是你交给 CA 的申请材料,里面带着域名、单位信息和公钥;配套的私钥留在自己手里,谁都不能给。本页的密钥对由浏览器的 WebCrypto 直接生成,私钥不上传、不落我们的服务器,关掉页面就没了,记得先保存。
填要签发的主域名。通配符写成
*.example.com,只覆盖一级子域,不覆盖 example.com 本身。
留空就只用 CN。现在浏览器只认 SAN 不认 CN,主域名也要写进来。支持域名、IP 与邮箱。
拿不准就 RSA 2048;只面向现代浏览器和 App 可以用 ECDSA P-256,握手更快、证书更小。
怎么用这份 CSR
- 1. 把 CSR 提交给 CA
- 在证书厂商或云服务商的申请页面,把上面 CSR 那一整段(含
-----BEGIN CERTIFICATE REQUEST-----头尾)粘进去。CA 只拿得到公钥和域名信息,拿不到私钥。 - 2. 完成域名所有权验证
- DV 证书一般是加一条 DNS TXT 记录,或者在网站根目录放一个指定文件。企业型 OV/EV 还要提交营业执照等资料。
- 3. 拿到证书后和私钥一起部署
- CA 签发回来的是证书(.crt/.pem),要和本页生成的私钥配成一对才能用。配错了 nginx 会直接报
key values mismatch,可以先用 证书私钥配对 自查。 - 私钥丢了怎么办
- 没有找回的办法,只能重新生成 CSR 再签一次。证书本身是公开信息,私钥才是身份凭证;一旦泄露要立刻吊销证书重签。
- 为什么不做「带密码的私钥」
- 加密私钥(
ENCRYPTED PRIVATE KEY)每次重启服务都要人工输密码,nginx 这类服务反而更麻烦,实际部署里几乎都用明文私钥 + 文件权限 600 来保护。