服务器生成 CSR 文件指南
什么是 CSR 文件?
CSR (Certificate Signing Request),即证书签名请求文件,当你需要申请 SSL/TLS 证书时,必须通过服务器生成一个 CSR 文件并提交给证书颁发机构 (CA),CSR 包含了你的公钥以及关于你的组织、域名、国家等身份信息。
准备工作
在绝大多数 Linux 服务器(如 Ubuntu, CentOS, Debian)上,生成 CSR 最常用的工具是 OpenSSL,你可以通过以下命令检查是否已安装:openssl version
一步生成私钥 (.key) 和 CSR 文件 (.csr)
这是最推荐的方式,可以确保私钥和请求文件是同步生成的,减少出错概率。
执行命令:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
参数详细说明:
-new: 表示生成一个新的 CSR 请求。-newkey rsa:2048: 同时生成一个 2048 位的 RSA 私钥(这是目前的标准安全强度)。-nodes: 表示不对私钥进行加密(这样在 Web 服务器如 Nginx/Apache 重启时,不需要手动输入私钥密码,适合生产环境自动化部署)。-keyout: 指定生成的私钥文件保存路径及文件名。-out: 指定生成的 CSR 文件保存路径及文件名。
分步生成(先生成私钥,再生成 CSR)
如果你已经有了现成的私钥,或者希望将两个过程分开管理,可以使用此方法。
生成私钥:
openssl genrsa -out yourdomain.key 2048
使用现有私钥生成 CSR:
openssl req -new -key yourdomain.key -out yourdomain.csr
填写信息指南
执行命令后,终端会提示你输入一系列信息,请务必按照以下规范填写,否则可能导致证书申请失败:
- Country Name (C): 国家代码,使用两位字母。CN。
- State or Province Name (ST): 省份或州。Guangdong。
- Locality Name (L): 城市。Shenzhen。
- Organization Name (O): 公司或组织名称。Your Company Name Ltd。
- Organizational Unit Name (OU): 部门名称。IT Department。
- Common Name (CN): 最关键的一项,填写你要申请证书的完整域名。www.yourdomain.com 或 .yourdomain.com(如果是通配符证书)。
- Email Address: 管理员邮箱(可选,通常可以直接回车跳过)。
- A challenge password: 挑战密码(
强烈建议直接回车留空
,否则可能导致某些 Web 服务器启动困难)。
如何验证 CSR 文件内容
在将 CSR 内容复制并提交给证书颁发机构之前,建议先检查文件内容是否正确:
openssl req -text -noout -verify -in yourdomain.csr
通过该命令,你可以直观地看到 CSR 中包含的域名、组织信息以及公钥信息。
⚠️ 重要安全提示
- 严禁泄露私钥 (.key):私钥是你的身份核心凭证。绝对不要将
.key文件发送给任何人或任何证书颁发机构。 - 私钥与 CSR 的配对:证书(CRT)最终必须与生成该 CSR 时对应的那个私钥文件配合使用,如果你丢失了私钥,即使拿到了证书也无法完成安装。
- 妥善备份:请务必在安全的地方备份生成的
.key文件。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/490534.html



