溫馨提示×

Linux下OpenSSL命令使用技巧有哪些

小樊
33
2025-08-21 20:27:19
欄目: 云計算

OpenSSL是一個強大的開源工具,用于實現SSL和TLS協議,以及相關的加密算法。在Linux下,OpenSSL命令行工具提供了豐富的功能,以下是一些常用的技巧和命令:

1. 生成密鑰對

  • 生成RSA密鑰對
    openssl genrsa -out rsa_key.pem 2048
    
  • 生成ECDSA密鑰對
    openssl ecparam -genkey -name secp384r1 -out ecdsa_key.pem
    

2. 生成證書簽名請求(CSR)

  • 生成CSR
    openssl req -new -key rsa_key.pem -out csr.pem
    
    在生成過程中,系統會提示你輸入一些信息,如國家、組織名稱等。

3. 自簽名證書

  • 生成自簽名證書
    openssl x509 -req -days 365 -in csr.pem -signkey rsa_key.pem -out certificate.pem
    

4. 查看證書信息

  • 查看證書詳細信息
    openssl x509 -in certificate.pem -text -noout
    

5. 轉換證書格式

  • 將PEM格式轉換為DER格式
    openssl x509 -in certificate.pem -outform DER -out certificate.der
    
  • 將DER格式轉換為PEM格式
    openssl x509 -in certificate.der -inform DER -out certificate.pem
    

6. 生成Diffie-Hellman參數和密鑰對

  • 生成DH參數
    openssl dhparam -out dhparam.pem 2048
    
  • 生成DH密鑰對
    openssl genpkey -paramfile dhparam.pem -out dh_key.pem
    

7. 生成隨機數

  • 生成隨機數文件
    openssl rand -out random_number.bin 32
    

8. 加密和解密文件

  • 使用AES加密文件
    openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin
    
  • 使用AES解密文件
    openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt
    

9. 簽名和驗證簽名

  • 使用SHA256簽名文件
    openssl dgst -sha256 -sign private_key.pem -out signature.bin file.txt
    
  • 驗證簽名
    openssl dgst -sha256 -verify public_key.pem -signature signature.bin file.txt
    

10. 生成和驗證JWT(JSON Web Tokens)

  • 生成JWT
    openssl base64url -in payload.json | openssl enc -base64 -A | openssl dgst -sha256 -hmac secret_key -binary | openssl base64url -A
    
  • 驗證JWT: 驗證JWT通常需要編寫腳本或使用專門的庫來解析和驗證JWT的各個部分。

11. 生成和驗證SSL/TLS證書鏈

  • 生成證書鏈
    openssl verify -CAfile ca_certificate.pem intermediate_certificate.pem end_entity_certificate.pem
    

12. 使用OpenSSL進行HTTP請求

  • 發送HTTP GET請求
    openssl s_client -connect example.com:443 -servername example.com
    
  • 發送HTTP POST請求
    echo -n "POST /path HTTP/1.1\r\nHost: example.com\r\nContent-Length: 11\r\n\r\nrequest body" | openssl s_client -connect example.com:443 -servername example.com
    

這些技巧和命令可以幫助你在Linux環境下更有效地使用OpenSSL進行各種加密和安全相關的操作。根據具體需求,你可以組合和擴展這些命令來實現更復雜的功能。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女