手动生成证书签名请求(CSR)使用OpenSSL

本教程将向您展示如何手动生成 证书签名请求 (或 CSR) 在使用 OpenSSL 的 Apache 或 Nginx 网络托管环境中。 点击 点击此处 有关订购证书的教程,或 点击此处 有关如何安装新 SSL.com 证书的更多信息。

如需更多有用的操作方法和最新的网络安全新闻,请在此处注册 SSL.com 的时事通讯:

视频

什么是OpenSSL?
OpenSSL是一个非常有用的开源命令行工具包,可用于 X.509 证书,证书签名请求(CSRs)和加密密钥。 如果使用的是Linux或macOS之类的UNIX变体,则您的计算机上可能已经安装了OpenSSL。 如果您想在Windows上使用OpenSSL,则可以启用 Windows 10的Linux子系统 或安装 Cygwin的.

在这些说明中,我们将使用OpenSSL的 req 生成私钥和 CSR 在一个命令中。 以这种方式生成私钥将确保提示您输入密码来保护私钥。 在显示的所有命令示例中,将“全部大写”中显示的文件名替换为您要使用的实际路径和文件名。 (例如,您可以替换 PRIVATEKEY.key/private/etc/apache2/server.key 在macOS Apache环境中。)此方法介绍了两者的生成 RSA和ECDSA 键。

SSL.com提供了广泛的内容。 各种 SSL /TLS 服务器证书 用于HTTPS网站。

比较SSL /TLS 证书

RSA

下面的OpenSSL命令将生成一个2048位RSA私钥,并且 CSR:

openssl req -newkey rsa:2048 -keyout PRIVATEKEY.key -out我CSR.csr

让我们分解一下命令:

  • openssl 是用于运行OpenSSL的命令。
  • req 是用于生成 CSR.
  • -newkey rsa:2048 告诉OpenSSL生成新的2048位RSA私钥。 如果您希望使用4096位密钥,可以将此数字更改为 4096.
  • -keyout PRIVATEKEY.key 指定保存私钥文件的位置。
  • -out MYCSR.csr 指定保存位置 CSR 文件中。
  • 对于最后两个项目,请记住对私钥使用自己的路径和文件名, CSR,而不是占位符。

键入命令后,按 进入。 您将看到一系列提示:

  • 首先创建并验证密码。 请记住该密码,因为您将再次需要它来访问您的私钥。
  • 现在将提示您输入将包含在您的信息中的信息 CSR。 此信息也称为 专有名称DN。 该 通用名称 提交您的SSL.com字段时, CSR,但其他均为可选。 如果您想跳过可选项目,只需键入 进入 当它出现时:
    • 国家的名字 (可选)包含两个字母 国家代码.
    • 地区名称 字段(可选)适用于您所在的城市或城镇。
    • 组织名称 字段(可选)是您公司或组织的名称。
    • 通用名称 字段(必填)用于 完全合格的域名(FQDN) 该证书将保护的网站。
    • 电子邮件 (可选)
    • 挑战密码 字段是可选的,也可以跳过。

完成此过程后,您将返回到命令提示符。 您不会收到任何有关您的 CSR 已成功创建。

ECDSA

使用以下命令创建ECDSA私钥 CSR,您需要调用第二个OpenSSL实用程序来生成ECDSA密钥的参数。

此OpenSSL命令将为256位ECDSA密钥生成一个参数文件:

openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out ECPARAM.pem
  • openssl genpkey 运行openssl的实用程序以生成私钥。
  • -genparam 生成参数文件而不是私钥。 您还可以生成一个私钥,但是在生成密钥时使用参数文件 CSR 确保提示您输入密码。
  • -algorithm ec 指定椭圆曲线算法。
  • -pkeyopt ec_paramgen_curve:P-256 选择256位曲线。 如果您希望使用384位曲线,请将冒号后的部分更改为 P-384.
  • -out ECPARAM.pem 提供参数文件的路径和文件名。

现在,在生成 CSR:

openssl req -newkey ec:ECPARAM.pem -keyout PRIVATEKEY.key -out我CSR.csr

该命令与上面的RSA示例中使用的命令相同,但是 -newkey RSA:2048 已被替换为 -newkey ec:ECPARAM.pem。 与以前一样,系统会提示您输入密码和专有名称信息。 CSR.

如果需要,可以使用重定向将两个OpenSSL命令合并为一行,从而跳过参数文件的生成,如下所示:

openssl req -newkey ec:<(openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve:P-256)-keyout PRIVATEKEY.key -out MYCSR.csr

下一页 步骤

有关安装证书的更多信息, 读到这里,用于与 IIS 10 绑定, 在这里阅读 

感谢您选择SSL.com! 如有任何疑问,请通过电子邮件与我们联系 Support@SSL.com,致电 1-877-SSL-SECURE,或只需单击此页面右下方的聊天链接。 您还可以在我们的网站上找到许多常见支持问题的答案 知识库.

订阅 SSL.com 的时事通讯

不要错过SSL.com上的新文章和更新

保持信息灵通和安全

SSL.com 是网络安全领域的全球领导者, PKI 和数字证书。注册以接收最新的行业新闻、提示和产品公告 SSL.com.

我们希望收到您的反馈

参加我们的调查,让我们知道您对最近购买的想法。