如何使用 OpenSSL 生成證書籤名請求 (CSR)?
簡介
證書籤名請求 (CSR) 是一種包含請求 SSL/TLS 證書的實體資訊的文件。CSR 包括公鑰以及與實體相關的識別資訊,例如其名稱和位置。證書頒發機構 (CA) 使用此資訊來驗證請求證書的實體是否為其聲稱的實體。
CSR 是獲取 SSL/TLS 證書過程中的一個重要組成部分,因為它允許驗證您的身份和您對域名的所有權。如果沒有有效的 CSR,您將無法獲得 SSL/TLS 證書,這意味著您的網站將無法透過加密進行保護。
瞭解 OpenSSL 及其元件
OpenSSL 是一個開源工具包,它在網際網路上兩個機器之間提供安全的通訊通道。它利用各種加密功能來確保資料機密性、完整性和真實性。OpenSSL 已成為世界上使用最廣泛的加密庫之一,支援各種作業系統,包括 Linux、Windows 和 macOS。
私鑰
私鑰是一個加密安全的金鑰,個人或實體可以使用它對訊息進行數字簽名,以便只有擁有其對應公鑰的人才能驗證。
使用 OpenSSL 生成 CSR 時,務必記住,您的私鑰必須始終保密,因為如果它落入壞人之手,可能會被用於惡意目的,例如身份盜用或偽造。要使用 OpenSSL 生成私鑰,我們使用以下命令:
openssl genrsa -out my_private_key.key 2048
這將在我們的當前目錄中建立一個名為 `my_private_key.key` 的新檔案,其中包含我們新生成的私鑰,我們稍後將在生成 CSR 時使用它。
公鑰
公鑰充當您的私鑰的識別符號,允許其他人向您傳送加密的訊息,而不會危及他們的隱私,因為您的私鑰始終保密。SSL/TLS 的基礎公鑰加密依賴於這些金鑰在數學上相關但又不同;從另一個金鑰生成一個金鑰在計算上應該是不可行的。
要使用 OpenSSL 生成公鑰,我們使用以下命令:
openssl rsa -in my_private_key.key -out my_public_key.crt -pubout
這將在我們的當前目錄中建立一個名為 `my_public_key.crt` 的新檔案,其中包含我們新生成的公鑰。我們稍後將在生成 CSR 時使用此公鑰。
使用 OpenSSL 生成私鑰
什麼是私鑰以及為什麼它很重要?
私鑰是一種用於保護雙方之間通訊的加密金鑰。在 SSL/TLS 的情況下,私鑰用於加密從伺服器傳送到客戶端的資料。生成私鑰非常重要,因為它允許您在伺服器和客戶端之間建立安全連線,這對於確保諸如信用卡號和密碼等敏感資訊的安全至關重要。
使用 OpenSSL 生成私鑰的分步說明
要使用 OpenSSL 生成私鑰,請按照以下簡單步驟操作:
開啟您的終端或命令提示符並輸入以下命令:
openssl genrsa -out example.com.key 2048
將“example.com”替換為您的域名。
然後系統將提示您輸入私鑰的密碼。
此密碼應為易於記住的強密碼。
輸入密碼後,OpenSSL 將生成您的私鑰並將其另存為當前目錄中的“example.com.key”。
需要注意的是,生成私鑰後,應妥善保管。
從私鑰建立公鑰
公鑰的定義及其在生成 CSR 中的重要性
公鑰是一種用於加密資料和驗證數字簽名的加密金鑰。它廣泛用於網路安全協議(例如 SSL/TLS),在這些協議中,它有助於在伺服器和客戶端之間建立安全通訊。
然後,CA 使用此公鑰建立可用於安全通訊的 SSL 證書。公鑰在生成 CSR 中的重要性怎麼強調都不為過。
使用 OpenSSL 從私鑰建立公鑰的分步說明
要使用 OpenSSL 從私鑰建立公鑰,請按照以下步驟操作:
開啟一個終端視窗並導航到儲存私鑰的目錄。
輸入以下命令:
openssl rsa -in privkey.pem -pubout -out pubkey.pem
將“privkey.pem”替換為您私鑰檔案的名稱,並將“pubkey.pem”替換為您要賦予新建立的公鑰檔案的名稱。
按 Enter 鍵。
如果在生成過程中設定了私鑰密碼,系統將提示您輸入該密碼。
成功輸入後,您應該會看到類似於以下內容的輸出:
writing RSA key -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5mg4yAgzgzY6rS/yz1lx lXTCjLv6NifJ45XQmOt3G+zs2RLpT8coUhU04KNxMm5N+RyOoK7Fw9ud1PvS0yRG tCji8bz0Hbszgde4hZl7ogcZffKtWXAkg/TltaiUxrOaEgWJ5jBNs9wAMRqvBR4k 5fetn1Gz/SNSd03LqAFg48mvn67/NA+iQlLOyBbLjMoxoJ2kRSsEnUU6K0AFiXrI uPVPYHzDv7qc+eTsqyzKrHG4hg/kVI6xCZNFGX4aWBFEkz50VibLooRv15ymW72y SvqfMY8dZKM033IFDhgx4wjBKCEGD04ehqicI7cP89LCBQr3A+RzfV02riB0UFTs DwIDAQAB -----END PUBLIC KEY-----
此輸出表示您新建立的公鑰。恭喜,您已成功使用 OpenSSL 從私鑰建立了公鑰!
當使用 OpenSSL 時,從私鑰生成公鑰是建立有效證書籤名請求的重要步驟。
建立證書籤名請求 (CSR)
CSR 的定義及其重要性。
證書籤名請求 (CSR) 是一個包含組織資訊和將包含在 SSL/TLS 證書中的公鑰的數字檔案。請求 SSL/TLS 證書時,CSR 會發送到證書頒發機構 (CA)。
CA 將使用此資訊建立已簽名的證書,該證書可驗證組織的身份。生成 CSR 很重要,因為沒有它,組織就無法獲得 SSL/TLS 證書。
SSL/TLS 證書會加密在 Web 伺服器和客戶端瀏覽器之間透過網際網路傳輸的敏感資料,從而提供安全的通訊。
有關如何使用 OpenSSL 建立證書籤名請求的分步說明。
要使用 OpenSSL 生成 CSR,請按照以下步驟操作:
開啟您的終端或命令提示符
建立私鑰:
openssl genpkey -algorithm RSA -out example.com.key
將您的詳細資訊輸入 CSR
openssl req -new -key example.com.key -out example.com.csr
系統將提示您輸入各種詳細資訊,例如國家/地區名稱、州/省名稱、組織名稱等,根據需要填寫這些欄位。
您的 CSR 已生成並儲存在 example.com.csr 檔案中。
務必安全儲存您的私鑰檔案以及生成的 CSR 檔案,因為它們都是從 CA 獲取已簽名的 SSL/TLS 證書的關鍵元件。
驗證您的證書籤名請求 (CSR)
建立 CSR 後,必須驗證其準確性,以避免在證書籤名過程中出現潛在錯誤。要驗證您的 CSR,您可以使用 OpenSSL 的內建驗證工具。
首先,執行以下命令以檢查 CSR 是否與私鑰匹配:
openssl req -noout -modulus -in [csr_file].csr | openssl md5
接下來,執行此命令以確保 CSR 中的資訊正確:
openssl req -text -in [csr_file].csr
如果一切都正確匹配並且沒有錯誤,您可以繼續提交 CSR 以進行簽名。
結論
使用 OpenSSL 生成證書籤名請求 (CSR) 乍一看可能是一項艱鉅的任務;但是,它是為您的網站或應用程式獲取已簽名的 SSL 證書的關鍵步驟。透過遵循本文中概述的步驟並驗證 CSR 的準確性,您可以確保在將其提交給您選擇的 CA 進行簽名時,流程順利進行。