en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

en English
X

Select Language

Powered by Google TranslateTranslate

We hope you will find the Google translation service helpful, but we don’t promise that Google’s translation will be accurate or complete. You should not rely on Google’s translation. English is the official language of our site.

手动生成证书签名请求(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上的新文章和更新