讓我們進入 OpenSSL 的世界,它是您保護在線數據的可靠盟友!無論您是初學者還是有一定經驗,本文都是您瞭解最常見 OpenSSL 命令的簡單指南
我將介紹 CSR 和密鑰生成、證書管理、轉換證書格式等。繼續關注我們,很快您就會像專業人士一樣使用 OpenSSL!
常規 OpenSSL 命令
開始您的OpenSSL之旅,確保您的系統上已安裝 OpenSSL,並瞭解其版本。這些基本命令是您掌握 OpenSSL 的第一步。
檢查 Linux 上是否安裝了 OpenSSL
對於使用 rpm 包的 GNU/Linux 發行版:
rpm -qa | grep -i openssl
對於使用 deb 包的 GNU/Linux 發行版:
dpkg -l | grep -i openssl
對於 Arch Linux 使用:
pacman -Q openssl
檢查 OpenSSL 版本
openssl version –a
管理企業社會責任
創建和管理證書籤名請求 (CSR)在 SSL 流程中至關重要。瞭解如何生成 CSR、處理無提示 CSR 生成、驗證其詳細信息等。
為現有私鑰生成 CSR
openssl req -new -key yourKey.key -out yourCSR.csr
執行命令後,系統會向您顯示一系列問題。您提供的答案將被納入 CSR。
生成 CSR 時禁用問題提示
使用此命令並附帶具體詳細信息,即可生成 CSR,而無需輸入信息。
openssl req -new -key yourKey.key -out yourCSR.csr \
-subj "/C=US/ST=Utah/L=Lehi/O=Your Company, Inc./OU=IT/CN=yourdomain.com"
查看 CSR 信息
在將 CSR 發送到證書頒發機構之前,使用此 OpenSSL 命令驗證 CSR 是否包含正確的信息。
openssl req -text -in yourCSR.csr -noout –verify
根據現有證書生成 CSR
openssl x509 -x509toreq -in yourCertificate.crt -out yourCSR.csr -signkey yourPrivateKey.key
將 CSR 發送給 CA
使用此命令顯示並複製您的 CSR 以提交給證書頒發機構。
cat yourCSR.csr
管理私鑰和公鑰
瞭解在 OpenSSL 中處理私鑰的來龍去脈。本節涵蓋所有與密鑰相關的基本知識,從生成到解碼和管理密碼。
使用 OpenSSL 生成私鑰
使用RSA 算法創建一個新的私鑰,並使用此命令指定密鑰大小。
openssl genrsa -out yourPrivateKey.key 2048
要生成私鑰,請指定密鑰算法、密鑰大小和可選密碼。標準密鑰算法是 RSA,但您也可以針對特定情況選擇 ECDSA。
使用 RSA 密鑰算法時,密鑰大小應選擇 2048 位;使用 ECDSA 算法時,密鑰大小應選擇 256 位。低於 2048 的任何密鑰大小都不安全,而較高的值可能會降低性能。
最後,你應該決定是否需要為你的私鑰設置密碼。請注意,某些服務器不接受帶有密碼的私鑰。
準備好生成私鑰(使用 RSA 算法)後,運行以下命令:
查看私鑰信息
cat yourPrivateKey.key
解碼私鑰
使用此命令解碼並以文本格式顯示您的私鑰。
openssl rsa -text -in yourPrivateKey.key -noout
從私鑰中提取公鑰
openssl rsa -in yourPrivateKey.key -pubout -out yourPublicKey.key
立即創建您的私鑰和 CSR
openssl req -out yourCSR.csr -new -newkey rsa:2048 -nodes -keyout yourPrivateKey.key
此命令生成沒有密碼的私鑰(-keyout yourPrivateKey.key)和 CSR 代碼(-out yourCSR.csr)。
從私鑰中刪除密碼
openssl rsa -in yourPrivateKey.pem -out yourNewPrivateKey.pem
檢查私鑰
使用此命令驗證私鑰的完整性和正確性。
openssl rsa -in yourPrivateKey.key -check
使用 OpenSSL 驗證證書、私鑰和 CSR 之間的一致性
驗證證書是否與私鑰或 CSR 匹配:
openssl x509 -noout -modulus -in certificate.crt | openssl md5
確保私鑰與特定的 SSL 證書或 CSR 正確對應:
openssl rsa -noout -modulus -in privateKey.key | openssl md5
確認 CSR 與私鑰匹配並且適合特定證書:
openssl req -noout -modulus -in CSR.csr | openssl md5
管理證書
瞭解如何使用 OpenSSL 命令檢查、生成和驗證 SSL/TLS 證書,包括檢查 SSL 連接以確保通信通道的安全。
在 OpenSSL 中檢查證書
使用此命令檢查 SSL 證書的詳細信息。
openssl x509 -text -in yourCertificate.crt –noout
生成自簽名證書
req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout yourPrivateKey.key -out yourdomain.crt
檢查 SSL 連接
使用此命令來測試和診斷與服務器的 SSL 連接。
openssl s_client -connect www.yoursite.com:443
轉換 SSL 文件
探索 OpenSSL 在轉換SSL 文件格式方面的靈活性。本節將指導您使用 OpenSSL 命令在不同文件類型(如 DER、PEM 和 PKCS#12)之間進行轉換。
DER 轉 PEM
openssl x509 -inform der -in yourCertificate.cer -out yourCertificate.pem
從 PEM 到 DER
openssl x509 -outform der -in yourCertificate.pem -out yourCertificate.der
PKCS#12 到 PEM
openssl pkcs12 -in yourKeyStore.pfx -out yourKeyStore.pem -nodes
PEM 到 PKCS#12
openssl pkcs12 -export -out yourCertificate.pfx -inkey yourPrivateKey.key -in yourCertificate.crt -certfile yourCACert.crt
總結
掌握最常見的 OpenSSL 命令對於提高您的數字安全技能至關重要。
從生成 CSR 和管理密鑰到轉換證書,我們所涵蓋的命令將為您提供必要的知識,讓您自信地應對 OpenSSL 的複雜性。