如何在Linux系統中生成CSR(證書籤名請求)?


介紹

在當今的數字時代,網站安全已成為企業必須考慮的一個極其重要的方面。網路犯罪正在上升,攻擊者不斷尋找新的方法來利用線上系統的漏洞。保護網站免受網路威脅的主要方法之一是實施SSL/TLS證書,這有助於加密在使用者瀏覽器和Web伺服器之間傳輸的資料。

證書籤名請求 (CSR) 是獲取SSL/TLS證書的重要組成部分。它包含有關請求證書的域名和組織的資訊,以及驗證所需的其他詳細資訊。

在Linux中生成CSR的概述

在Linux中生成CSR可以透過多種方法完成,例如使用OpenSSL命令列工具或Certbot或Acme.sh等GUI工具。每種方法都需要仔細遵循特定的步驟才能獲得有效的CSR。此過程通常涉及生成私鑰(用於加密在Web伺服器和瀏覽器之間傳送的資料),以及建立證書籤名請求 (CSR),其中包含網站所有者和域名資訊以及CA驗證所需的其它詳細資訊。

將包含CSR程式碼的請求檔案提交給您喜歡的CA提供商(如ComodoSSL.com或DigiCert.com),他們將在頒發SSL/TLS證書之前驗證您的提交請求。在本文中,我們將重點介紹使用Linux中的OpenSSL命令列工具生成CSR。

準備在Linux中生成CSR

生成CSR的先決條件

在Linux中生成CSR之前,必須滿足一些先決條件。首先也是最重要的要求是擁有伺服器的root許可權。

這使您可以擁有修改關鍵系統檔案和以管理員許可權執行命令的必要許可權。此外,您需要在系統上安裝OpenSSL。

檢查OpenSSL是否已安裝在您的系統上

要檢查OpenSSL是否已安裝在您的系統上,您可以使用命令列介面 (CLI) 或GUI工具,例如Synaptic軟體包管理器或Ubuntu軟體中心。要使用CLI進行檢查,請執行以下命令:

openssl version 

這將顯示已安裝在您的系統上的OpenSSL版本。如果返回錯誤“openssl命令未找到”,則表示未安裝OpenSSL。

或者,您可以使用特定於您的發行版的軟體包管理器(例如,Ubuntu的APT)執行:

sudo apt-get install openssl 

這將安裝OpenSSL及其依賴項。安裝完成後,您可以再次使用`openssl version`檢查其版本來驗證它是否已正確安裝。

在Linux中生成CSR之前,請確保您具有root許可權並在系統上安裝了OpenSSL(按照上述步驟)。滿足這些要求至關重要,因為如果沒有它們,生成CSR將不會成功,並且會嚴重影響網站安全性。

使用OpenSSL命令列工具生成CSR

生成證書籤名請求 (CSR) 是為您的網站獲取SSL/TLS證書過程中至關重要的一步。在Linux中生成CSR最常用的工具之一是OpenSSL命令列工具。此工具使您可以使用一個簡單的命令建立新的私鑰和CSR。

分步說明

要使用OpenSSL生成CSR,請按照以下步驟操作:

  • 開啟終端視窗並執行以下命令:

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

此命令建立一個具有2048位加密的新私鑰,並同時生成一個新的CSR。

  • 系統將提示您輸入有關您的組織的一些資訊,例如國家程式碼、州/省、城市/地區、組織名稱和通用名稱(域名)。如果您不想提供某些資訊,則可以按Enter鍵跳過某些欄位。

You are about to be asked to enter information that will be incorporated into your certificate request. 

What you are about to enter is what is called a Distinguished Name or a DN. 
There are quite a few fields but you can leave some blank For some fields there will be a default value, 
If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:US 
State or Province Name (full name) [Some-State]:California Locality Name (eg, city) []:San Francisco 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Example Company Ltd. Organizational Unit Name (eg, section) []: 
Common Name (e.g. server FQDN or YOUR name) []:example.com Email Address []:
  • 提供所有必需的資訊後,該工具將在您的當前目錄中生成兩個檔案:“example.com.key”和“example.com.csr”。前者是您的私鑰,後者是您的CSR。

解釋命令中使用的每個選項

現在讓我們仔細看看OpenSSL命令中使用的每個選項:-req:這告訴OpenSSL建立一個新的CSR。

  • new − 這告訴OpenSSL我們想要生成一個新的CSR,而不是使用現有的CSR。

  • newkey rsa:2048 − 這告訴OpenSSL建立一個具有2048位加密的新RSA私鑰。

  • nodes − 這告訴OpenSSL不要加密私鑰。換句話說,它建立一個未加密的(明文)私鑰。

  • keyout example.com.key − 這指定您要儲存私鑰的位置。將“example.com”替換為您實際的域名。

  • out example.com.csr − 這指定您要儲存CSR的位置。同樣,將“example.com”替換為您實際的域名。

常見錯誤

以下是使用OpenSSL生成CSR時應避免的一些常見錯誤:

  • 鍵入有關您的組織的資訊錯誤會導致以後申請SSL/TLS證書時出現錯誤。確保準確輸入所有必需的欄位,並在提交前仔細檢查。

  • 忘記包含或鍵入錯誤的電子郵件地址會導致接收有關SSL/TLS證書申請狀態或過期日期的重要通知延遲。

  • 對您的私鑰使用弱加密(少於2048位)可能會危及您的網站安全,並允許駭客從使用者那裡竊取敏感資料。

    始終使用強加密以獲得最大安全性。

使用GUI工具生成CSR(可選)

雖然透過命令列生成CSR是最常見的方法,但某些使用者可能會發現使用圖形使用者介面 (GUI) 工具更方便。有各種可用於在Linux中生成CSR的GUI工具。

一些可用於生成的GUI工具:

  • OpenSSL證書管理器 − 此工具是OpenSSL軟體包的一部分,它提供了一個圖形介面來管理證書,包括生成CSR。它在大多數Linux發行版上可用,並提供易於使用的CSR建立介面。

  • XCA −這是一個開源證書和金鑰管理工具,支援建立SSL/TLS證書,包括CSR。

    它提供高階功能,例如證書模板、金鑰備份、吊銷支援等等。

  • Keytool IUI −如果您正在尋找基於Java的工具來在Linux中生成CSR,那麼Keytool IUI可能是您的最佳選擇。

它在幕後使用Java Keytool命令列實用程式,但提供了一個具有多個有用功能的直觀的圖形使用者介面。

結論

在Linux中生成CSR是使用SSL/TLS證書保護您的網站的關鍵步驟。雖然有多種方法可以做到這一點,但由於其簡單性和有效性,使用OpenSSL命令列工具仍然是最受歡迎的選擇。

但是,如果您不熟悉Linux或不習慣使用命令列介面,那麼使用上述GUI工具之一可以幫助您簡化操作。

更新於:2023年6月6日

241 次檢視

開啟您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.