知识库

在 Apache + OpenSSL/ModSSL/Nginx + Heroku 产生 CSR

要启用 SSL 证书,您需要在我们的网站上提交 CSR(证书签名请求)。CSR 是一段包含有关您公司和域名的加密信息的代码块。通常,CSR 的 openssl 配置默认包含以下详细信息:

  • 通用名称(证书应发放的域名)
  • 国家(两位数代码
  • 州(或省)
  • 地区(或城市)
  • 组织
  • 组织单位(部门)
  • 电子邮件地址

通常是用 openssl 在 Apache 或 Nginx 网页服务器上生成 CSR。它在网页服务器的属性中默认包括。因此,如果您已安装了网页服务器,则几乎不需要额外安装 openssl。

要生成 CSR,在终端中运行以下命令:

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

我们建议您将 'server' 替换为证书将发放的域名,以避免进一步的混淆。

该命令开始生成 CSR 和私钥的过程。私钥将在证书安装时需要。

系统会提示您填写有关您的公司和域名的信息。

强烈建议填写所有必填字段。如果某个字段留空,CSR 在激活过程中可能会被拒绝。对于域名验证的证书,并不强制要求指定 '组织''组织单位' - 您可以将这些字段填写为 'NA'。在通用名称字段中,您需要输入证书应发放的域名。

请仅使用英语的 字母数字符号。否则,CSR 可能会被证书颁发机构拒绝。

如果证书应发放给特定子域,则需要在 '通用名称' 中指定该子域。例如 'sub1.ssl-certificate-host.com'。

对于通配符证书,域名应以星号开头,如 '*.ssl-certificate-host.com'

在填写所有要求的信息后,您应该会在运行命令的活页夹中获得 *.csr 和 *.key 文件。

注意:要生成包含 "街道地址" 值的 CSR 代码,请将 '主题''-subj')工具与相应的数据添加到命令中,如下所示:


openssl req -nodes -newkey rsa:2048 -keyout server.key -out server.csr -subj "/C=HK/ST=Hong Kong/L=Hong Kong/O=My Company Ltd./OU=IT/CN=zbtest.tube/Street=Example Road 1"

*.csr 文件包含您在证书激活期间需要提交的 CSR 代码。它可以用文本编辑器打开。通常它看起来像一段代码块,带有标头:'-----BEGIN CERTIFICATE REQUEST----'。建议您提交带有标头和尾部的 CSR。

*.key 文件是私钥,将在 SSL/TLS 会话建立过程中用于解密服务器和客户端之间的通讯。它有这样的标头:'-----BEGIN RSA PRIVATE KEY-----'。请确保私钥被妥善保存,因为没有它将无法在服务器上安装证书。