什么是CSR,干什么的?

更新时间:2025-12-28 来源:TopSSL技术团队

什么是CSR?SSL证书申请中的CSR文件有什么用?

CSR(Certificate Signing Request,证书签名请求)是申请 SSL/TLS 证书时提交给 CA(证书颁发机构)的请求文件。

简单来说,CSR主要包含​申请域名、公钥以及申请者填写的部分信息​。生成CSR时会同时产生一对密钥,其中​私钥由申请者自己保管,不能提交给CA​;CA审核通过后,会根据CSR中的公钥签发SSL证书。

因此,申请SSL证书时可以把它理解成:

私钥自己保存 → 根据私钥生成CSR → 把CSR提交给CA → CA签发证书 → 证书和原来的私钥一起部署到服务器。


CSR文件有什么作用

CSR并不是SSL证书本身,而是向CA提交的​证书申请请求​。

它主要有三个作用。

1. 提供证书申请所需的信息

CSR中会包含证书申请相关的信息,例如:

  • 域名;
  • 公钥;
  • 组织名称等主题信息;
  • 密钥算法及相关参数;
  • SAN(Subject Alternative Name)等扩展信息。

对于现在的SSL/TLS证书来说,​实际访问的域名主要以SAN字段为准​。

例如申请:

example.com
www.example.com

生成CSR时就可以根据证书需求将这些域名放入SAN中。


2. 将SSL证书与密钥对建立对应关系

生成CSR时,需要使用一对密钥:

私钥(Private Key)
        ↓
生成CSR
        ↓
提交给CA
        ↓
CA签发SSL证书
        ↓
证书 + 原始私钥
        ↓
部署到服务器

SSL证书中包含的公钥必须与服务器上的私钥属于同一对密钥。

这也是为什么安装证书时经常会遇到**“证书与私钥不匹配”**的问题。

如果申请证书时使用的是A私钥生成的CSR,后来安装证书却使用了B私钥,那么证书虽然本身没有问题,也无法正常完成TLS握手。


3. 让CA能够为指定公钥签发证书

CSR中包含申请者的公钥,并使用对应私钥对CSR进行签名。

CA收到CSR后,会对CSR进行解析和验证,并根据证书类型执行相应的域名验证或组织身份验证。

验证通过后,CA使用CA自身的签名私钥签发最终的SSL/TLS证书。

这里需要注意:

CA不会因为签发证书而获得申请者的私钥。

申请者的私钥应该始终由申请者自己保管。


CSR、私钥和SSL证书有什么区别

这三个文件经常被混淆,可以直接这样理解:

名称主要作用是否提交给CA是否需要部署到服务器
私钥 KEY与证书建立密钥对应关系,参与TLS握手❌ 不提交✅ 需要
CSR向CA申请SSL证书✅ 提交❌ 不需要
SSL证书 CRT/PEMCA签发的服务器数字证书CA生成✅ 需要

最重要的一点是:

CSR可以提交给CA,私钥不能提交给CA。

如果某个所谓的“在线CSR生成器”要求你上传或输入已有私钥,应当谨慎处理。


CSR是怎么生成的

以最常见的RSA证书为例,基本过程如下:

生成RSA私钥
      ↓
根据私钥生成公钥
      ↓
使用公钥及证书申请信息生成CSR
      ↓
将CSR提交给CA
      ↓
完成域名/企业身份验证
      ↓
CA签发SSL证书

其中真正需要重点保护的是​私钥​。

CSR即使被别人看到,一般也不会直接导致服务器被入侵,因为CSR中没有你的私钥。

但是,如果服务器上的私钥泄露,风险就完全不同了。攻击者可能利用私钥冒充服务器建立TLS连接。


CSR文件里面有什么

常见的CSR文件采用PEM编码格式,打开后可以看到类似内容:

-----BEGIN CERTIFICATE REQUEST-----
MIIC...
...
-----END CERTIFICATE REQUEST-----

结尾为:

-----END CERTIFICATE REQUEST-----

CSR通常保存为.csr文件,也可以使用文本编辑器查看其PEM内容。

需要注意的是,​CSR本身不是SSL证书​。

SSL证书一般以:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

作为开始和结束标记。

两者不要混淆。


申请SSL证书时,CSR中的域名怎么填写

如果是单域名证书,例如:

www.example.com

那么申请时需要按照证书产品的要求生成对应CSR。

如果需要同时保护:

example.com
www.example.com

则应根据CA及证书产品的要求,将需要保护的域名加入SAN。

例如:

DNS:example.com
DNS:www.example.com

如果需要保护大量不同域名,可以选择​多域名(SAN)SSL证书​。

如果需要保护:

www.example.com
api.example.com
mail.example.com
shop.example.com

则可以考虑:

*.example.com

这样的​通配符SSL证书​。

不过,通配符证书主要保护同一主域下的一级子域名,例如:

api.example.com
mail.example.com

不能直接覆盖:

test.api.example.com

也不能用*.example.com代替example.com本身。


申请SSL证书一定要自己生成CSR吗

不一定。

这取决于申请平台和服务器环境。

有些SSL证书申请平台提供在线生成CSR的功能;部分服务器控制面板也可以直接生成CSR和私钥。

如果选择自行生成CSR,建议直接在需要部署证书的服务器或受信任的本地环境生成,这样私钥从生成开始就由自己掌握。

如果使用第三方在线工具生成CSR,则一定要确认工具是否会接触或保存私钥。

对于企业生产环境,更推荐自己生成密钥和CSR。


CSR生成后私钥放在哪里

生成CSR时,一般会同时得到私钥。

例如:

example.com.csr
example.com.key

其中:

  • .csr文件提交给CA;
  • .key文件自己保存。

不要把.key私钥上传到公开网盘、代码仓库或论坛,也不要随意发送给其他人。

如果服务器已经生成了私钥,申请SSL证书时只需要把CSR提交给CA即可。


CSR丢失了怎么办

如果只是​CSR文件丢失​,但原来的私钥还在,一般问题不大。

CSR主要用于向CA提交申请,证书签发完成后并不需要依赖CSR才能部署证书。

但是,如果​私钥也丢失了​,情况就不同。

已经签发的SSL证书无法通过重新生成一个CSR来恢复原来的私钥。此时应重新生成密钥对和CSR,并根据CA及证书产品的规则重新申请或重新签发证书。

所以真正需要重点备份的是:

SSL证书可以重新下载,CSR通常可以重新生成,但原始私钥丢失后无法恢复。


如何检查CSR是否正确

如果想确认CSR中的域名、公钥算法和其他信息,可以使用OpenSSL查看:

openssl req -in example.csr -noout -text

如果是PEM格式CSR,该命令可以查看CSR的详细内容。

也可以使用TopSSL提供的CSR文件验证工具检查CSR格式和基本信息。


CSR与SSL证书的关系

整个过程可以浓缩成下面这张关系图:

生成密钥对
                       │
             ┌─────────┴─────────┐
             ↓                   ↓
          私钥 KEY             公钥
             │                   │
             │                   ↓
             │                  CSR
             │                   │
             │                   ↓
             │              提交给 CA
             │                   │
             │            域名/组织验证
             │                   │
             │                   ↓
             │              SSL证书 CRT
             │                   │
             └─────────┬─────────┘
                       ↓
                  部署到服务器
                       ↓
                    HTTPS

因此,CSR不是证书,也不是私钥,而是把公钥和证书申请信息提交给CA的一种标准格式请求文件。


常见问题 FAQ

Q:CSR里面包含私钥吗? A:不包含。CSR包含公钥及证书申请信息,并由对应私钥进行签名。私钥应由申请者自己保存。

Q:CSR可以发给CA吗? A:可以。CSR本来就是提交给CA用于申请SSL/TLS证书的文件。

Q:SSL证书签发后还需要CSR吗? A:一般不需要。部署证书时主要需要SSL证书、私钥以及部分服务器环境所需的中间证书链。

Q:CSR丢了需要重新申请SSL证书吗? A:不一定。如果原来的私钥仍然保存完好,CSR丢失一般不会影响已经签发的证书使用。真正不能丢的是与证书匹配的私钥。

立即探索,帮您快速寻找适合您的SSL数字证书 申请SSL证书
免费SSL证书 - SSL证书申请与HTTPS安全服务平台 | TopSSL
提供免费与付费SSL证书申请
关注 TopSSL 公众号, RSS订阅SSL资讯与技术支持

TopSSL是一站式SSL证书服务平台,提供免费SSL证书申请、商业SSL证书服务及HTTPS安全解决方案,支持DV、OV、EV、通配符和国密SSL证书服务。2004-2026 © 北京传诚信  版权所有 |  北京市朝阳区鹏景阁大厦16层

技术协助:wo@topssl.cn 企业咨询:vip@topssl.cn