知識庫

在 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-----'。請確保私鑰被妥善保存,因為沒有它將無法在伺服器上安裝證書。