什么是CSR以及如何创建一个?
A CSR (Certificate Signing Request) 是一个编码文本块,组织或个人在申请 SSL 证书 时提交给证书颁发机构 (CA)。CSR 包含 CA 用于创建证书的信息,例如申请者的公钥和组织的详细信息。然后,该证书用于通过启用 HTTPS 来保护网站上的通信。
在本文中,我们将解释什么是 CSR,它的重要性,并提供逐步说明如何创建一个。
什么是 CSR (证书签名请求)?
CSR 是一个文件,其中包含网站所有者的公钥以及请求 SSL 证书的网站和组织的重要信息。该请求随后提交给证书颁发机构 (CA),例如 Let’s Encrypt、DigiCert 或 Comodo,CA 在颁发证书之前会验证详细信息。
典型的 CSR 包含:
- 公钥:用于加密过程。
- 通用名称 (CN):您希望保护的完全合格域名 (FQDN)(例如,www.example.com)。
- 组织名称:申请 SSL 证书的公司或个人的名称。
- 组织单位:公司内部的部门或分支(可选)。
- 地点:组织所在的城市。
- 州/省:组织所在的州或省。
- 国家:两字母国家代码(例如,美国为 US)。
CSR 不包含网站的私钥,私钥是在服务器上生成并保持安全的。
为什么 CSR 重要?
CSR 是 SSL 证书颁发过程中的一个重要部分。以下是它的重要性:
1. 申请 SSL 证书
当您申请 SSL 证书时,需要向证书颁发机构提交 CSR。CA 使用 CSR 中的信息来颁发与域、组织和服务器匹配的证书。
2. 安全性
CSR 包含公钥,用于加密服务器与客户端(浏览器)之间的数据。与公钥一起生成的私钥保存在服务器上,并且从不与任何人共享。它们共同使得使用 SSL/TLS 进行安全通信成为可能。
3. 验证
CA 使用 CSR 中的信息来验证证书请求者的身份。根据 SSL 证书的类型(例如,域验证、组织验证或扩展验证),CA 可能会在颁发证书之前执行不同级别的检查。
如何创建 CSR
创建 CSR 涉及生成公钥-私钥对,然后使用这些密钥创建 CSR。该过程根据您使用的服务器略有不同,但基本步骤是相同的。
步骤 1:生成私钥
创建 CSR 的第一步是生成私钥。私钥将用于加密和解密您网站上的数据,并应保持安全。
使用 OpenSSL 的示例(Linux、macOS 或安装了 OpenSSL 的 Windows):
- 打开终端或命令提示符。
- 运行以下命令以生成私钥:
openssl genrsa -out private.key 2048这将生成一个 2048 位的 RSA 私钥,并将其保存到名为 private.key 的文件中。
步骤 2:生成 CSR
一旦您有了私钥,下一步是创建 CSR。CSR 包含公钥(从私钥派生)和有关您组织的信息。
使用 OpenSSL 的示例:
- 在终端中运行以下命令:
openssl req -new -key private.key -out yourdomain.csr系统会提示您输入 CSR 的信息。您需要提供以下内容:
- 国家名称(两字母代码):您国家的两字母代码(例如,US、GB)。
- 州或省名称:州或省的全名(请勿缩写)。
- 地点名称:您组织所在的城市或地点。
- 组织名称:您公司或组织的全法律名称(如果您是个人,则为您的姓名)。
- 组织单位名称:部门或分支(可选)。
- 通用名称:您希望保护的完全合格域名 (FQDN)(例如,www.example.com 或 example.com)。
- 电子邮件地址:您的联系电子邮件地址(可选)。
- 输入所需信息后,CSR 将保存到名为 yourdomain.csr 的文件中。
步骤 3:将 CSR 提交给证书颁发机构
一旦生成 CSR,您可以在申请 SSL 证书时将其提交给证书颁发机构 (CA)。CA 将使用 CSR 中的信息来颁发证书。
步骤 4:安全保存私钥
步骤 1 中生成的私钥对于 SSL 加密至关重要。确保将其安全保存,并且不要与任何人共享。如果私钥丢失或泄露,您需要生成一个新密钥并请求新的 SSL 证书。
常见的 CSR 工具和方法
除了使用 OpenSSL,您还可以根据使用的平台使用其他工具和方法创建 CSR:
1. 使用 cPanel(网络托管控制面板)
如果您的网站托管在使用 cPanel 的提供商那里,您可以直接在控制面板中创建 CSR:
- 登录到您的 cPanel 帐户。
- 导航到安全部分并点击 SSL/TLS。
- 在证书签名请求 (CSR) 下,点击生成、查看或删除 SSL 证书签名请求。
- 填写 CSR 表单中的所需信息(类似于您在 OpenSSL 中输入的内容)。
- 点击生成。CSR 将显示,您可以复制它以提交给您的 CA。
2. 使用 IIS(Windows 服务器)
如果您在使用 IIS 的 Windows 服务器上管理网站,可以使用 IIS 管理器创建 CSR:
- 在服务器上打开 IIS 管理器。
- 从连接面板中选择您的服务器。
- 在 IIS 部分双击服务器证书。
- 在操作面板中,点击创建证书请求。
- 填写 CSR 详细信息并点击下一步。
- 选择加密提供程序和位长度(通常为 2048)。
- 将 CSR 保存到文件中并提交给 CA。
结论
证书签名请求 (CSR) 是 SSL 证书过程中的关键部分,使您能够向证书颁发机构请求证书。它包含有关您的组织和您希望保护的域的重要信息。通过使用 OpenSSL、cPanel 或 IIS 等工具生成 CSR,您可以获得 SSL 证书,从而保护您的网站并实现服务器与访问者之间的安全通信。
请记住保持私钥安全,并按照 CA 的说明完成 SSL 证书安装。通过正确配置的 SSL 证书,您将确保您的网站对用户保持安全和可信。
