558 words
3 minutes
使用 OpenSSL 生成 CSR

生成 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配置的时候都需要输入证书密码,十分麻烦,因此要做以下的修改

#去除密码
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/2023/2023-03-17-使用-openssl-生成-csr/
Author
Doracoin
Published at
2023-03-17
License
CC BY-NC-SA 4.0