正確實施 SSL 對網站的安全和成功至關重要。而且,由於許多網站所有者都是第一次瞭解 SSL,因此為他們配備所有必要的工具和實用程序至關重要。OpenSSL 就是這樣一種工具。那麼,什麼是 OpenSSL?為什麼它如此重要?
以下指南涵蓋了此實用實用程序的各個方面,包括如何使用 OpenSSL和各種OpenSSL 命令進行輕鬆高效的 SSL 管理。
什麼是 OpenSSL?
OpenSSL是一個開源軟件庫和命令行工具,用於實現安全通信的SSL和TLS協議。它提供加密功能,例如生成密鑰和證書、加密數據和驗證證書,使其成為互聯網安全和服務器管理的必備工具。
OpenSSL 用於什麼?
OpenSSL 是一個開源命令行工具,用於生成 CSR和私鑰、安裝 SSL 文件、合併和轉換證書為不同的 SSL 格式、驗證證書詳細信息以及解決問題。它在管理和保護 SSL/TLS 實施方面發揮着至關重要的作用。
要在您的網站上安裝 SSL 證書,您必須遵循一些強制性步驟,這些步驟對於任何服務器或電子郵件客户端都是相同的。當您沒有 Web 控制面板或想要簡化整個過程時,OpenSSL 特別方便。
由於並非所有服務器都提供用於 SSL 管理的 Web 用户界面,因此在某些平台上,OpenSSL 是導入和配置證書的唯一解決方案。
如何使用 OpenSSL
OpenSSL 的全部內容都是命令行。您所要做的就是學習一些常用的 OpenSSL 命令,隨着每個新證書的出現,配置過程將變得更快、更輕鬆。
OpenSSL 於 1998 年首次發佈,適用於 Linux、Windows、macOS 和 BSD 系統。大多數 Linux 發行版都預編譯了 OpenSSL。
如何檢查 Linux 上是否安裝了 OpenSSL?
要檢查您的 Linux 系統上是否安裝了 OpenSSL,請使用以下命令。
對於使用 rpm 包的 GNU/Linux 發行版:
rpm -qa | grep -i openssl
對於使用 deb 包的 GNU/Linux 發行版:
dpkg -l | grep -i openssl
對於 Arch Linux 使用:
pacman -Q openssl
如何在 Windows 上使用 OpenSSL?
如果您使用的是 Windows 系統,您可以從這裏下載 OpenSSL。
默認安裝將在 C 盤上為該程序創建一個目錄 -C:\OpenSSL-Win32
要運行該程序,請轉到C:\OpenSSL-Win32\bin\目錄並雙擊openssl.exe文件。將打開一個帶有OpenSSL>提示符的文本窗口。
在此提示符下輸入您需要的 OpenSSL 命令。您生成的文件將位於同一目錄中。Windows 的 OpenSSL 命令與 Linux 服務器上使用的命令相同。
常用 OpenSSL 命令
下面我們為普通用户整理了一些常用的 OpenSSL 命令。您可以隨時使用它們來生成或管理證書。
檢查 OpenSSL 版本
瞭解您擁有的 OpenSSL 版本至關重要,因為它決定了您可以使用哪些加密算法和協議。您可以通過運行以下命令來檢查您的 OpenSSL 版本:
openssl version –a
使用 OpenSSL 生成 CSR
您可以使用 OpenSSL 創建CSR(證書籤名請求)代碼。運行以下命令生成 CSR:
openssl req -new -key yourdomain.key -out yourdomain.csr
您還可以藉助–subj開關在命令行內提交您的信息。
此命令將禁用問題提示:
openssl req -new -key yourdomain.key -out yourdomain.csr -subj "/C=US/ST=CA/L=San Francisco/O=Your Company, Inc./OU=IT/CN=yourdomain.com"
或者,您可以通過CSR 生成器工具創建 CSR 。
使用 OpenSSL 生成私鑰
要生成私鑰,您需要指定密鑰算法、密鑰大小和可選密碼。標準密鑰算法是 RSA,但您也可以針對特定情況選擇 ECDSA。選擇密鑰算法時,請確保不會遇到兼容性問題。在本文中,我們僅展示如何通過 RSA 算法生成私鑰。
對於密鑰大小,使用 RSA 密鑰算法時應選擇 2048 位,使用 ECDSA 算法時應選擇 256 位。任何低於 2048 的密鑰大小都不安全,而更高的值可能會降低性能。
最後,你應該決定是否需要為你的私鑰設置密碼。請注意,某些服務器不接受帶有密碼的私鑰。
準備好生成私鑰(使用 RSA 算法)後,運行以下命令:
openssl genrsa -out yourdomain.key 2048
此命令將在您的當前目錄中創建yourdomain.key文件。您的私鑰將採用PEM格式。
使用 OpenSSL 查看私鑰信息
您可以通過以下命令查看私鑰的編碼內容:
cat yourdomain.key
使用 OpenSSL 解碼私鑰
要解碼您的私鑰,請運行以下命令:
openssl rsa -text -in yourdomain.key -noout
使用 OpenSSL 提取公鑰
要從私鑰中提取公鑰,請使用以下命令:
openssl rsa -in yourdomain.key -pubout -out yourdomain_public.key
使用 OpenSSL 立即創建您的私鑰和 CSR
OpenSSL 功能非常多樣,還有一個命令可以生成私鑰和 CSR:
openssl req -out yourdomain.csr -new -newkey rsa:2048 -nodes -keyout yourdomain.key
此命令生成沒有密碼的私鑰(-keyout yourdomain.key)和 CSR 代碼(out yourdomain.csr)。
使用 OpenSSL 檢查 CSR 信息
為了確保在向 CA 提交 CSR 之前提供了正確的信息,請運行以下命令:
openssl req -text -in yourdomain.csr -noout –verify
將 CSR 發送給 CA
運行以下命令,查看並複製CSR的全部內容:
cat yourdomain.csr
確保包含—–BEGIN CERTIFICATE REQUEST—–和—–END CERTIFICATE REQUEST—標籤,並將所有內容粘貼到 SSL 供應商的訂單中。
在 OpenSSL 中檢查證書
在您的 CA 將 SSL 證書發送到您的收件箱後,請運行以下命令以確保證書的信息與您的私鑰匹配。
openssl x509 -text -in yourdomain.crt –noout
這就是我們常見的 OpenSSL 命令列表。如果您願意,可以研究所有 OpenSSL 命令。