使用 OpenSSL 生成 CSR

本文最后更新于:2025年8月22日 晚上

生成 CSR - OpenSSL

介绍

本文提供了在 OpenSSL 中生成证书签名请求 (CSR) 的分步说明。 这是 Apache HTTP Server 和 NGINX 等 Web 服务器最常需要的。 如果这不是您正在寻找的解决方案,请在上面的搜索栏中搜索您的解决方案。

切换到工作目录

要在 Apache OpenSSL 中生成 CSR,您可以查看下面的视频以获取教程。

或者,您可以按照下面的分步指南进行操作。

GNU/Linux 和 Mac OS X 用户:

打开终端并浏览到要生成密钥对的文件夹

Windows 用户:

导航到您的 OpenSSL“bin”目录并在同一位置打开命令提示符。

生成 CSR 和私钥:

openssl req -out CSR.csr -new -newkey rsa:2048 -keyout privatekey.key

要生成 4096 位 CSR,您可以将 rsa:2048 语法替换为 rsa:4096,如下所示。

openssl req -out CSR.csr -new -newkey rsa:4096 -keyout privatekey.key

注意:系统将提示您输入密码才能继续。 保留此密码,因为您将需要它来使用证书。

根据提示填写以下字段:

注意:不能接受以下字符:< > ~ ! @# $ % ^ * / \ ( ) ?.,&

场地 例子
国家的名字 美国 (2 字母代码)
州或省 新罕布什尔州 (州全名)
地区 朴茨茅斯 (城市全名)
组织 GMO GlobalSign Inc (实体的法定名称)
组织单位 支持 (可选,例如部门)
通用名称 www.globalsign.com (域名或实体名称)

您现在应该有一个私钥 (privatekey.key) 应该保留在您的计算机上,以及一个证书签名请求 (CSR.csr),可以将其提交给 GlobalSign 以签署您的公钥。 这些文件中的每一个都可以在纯文本编辑器中查看,例如记事本、TextEdit、Vi、Nano 和 Notepad++。

或者在命令行输入以下命令:cat CSR.csr查看您的信息

存在的问题

这样生成的密钥配置到nginx之后,每次重启nginx/重新加载nginx配置的时候都需要输入证书密码,十分麻烦,因此要做以下的修改

1
2
3
4
5
#去除密码
mv server.key server2.key
openssl rsa -in server2.key -out server.key
#再次生成crt证书
openssl x509 -req -days 3000 -in server.csr -signkey server.key -out server.crt

这样就不用每次nginx -s reload的时候输入密码了

参考链接:https://support.globalsign.com/ssl/ssl-certificates-installation/generate-csr-openssl


使用 OpenSSL 生成 CSR
https://blog.doracoin.cc/posts/development/1910.html
作者
Doracoin
发布于
2023年3月17日
更新于
2025年8月22日
许可协议