OpenSSL是一個強大的加密工具包,用于實現安全套接字層(SSL/TLS)和傳輸層安全性(TLS)網絡協議及其所需的相關加密標準。以下是OpenSSL命令的詳細列表及其用法:
生成RSA密鑰對
openssl genrsa -out private.key 2048
生成一個2048位的RSA私鑰文件private.key
。
生成自簽名證書
openssl req -new -x509 -sha256 -key private.key -out certificate.crt -days 365
生成一個自簽名的X.509證書文件certificate.crt
,有效期為365天。
生成CSR(證書簽名請求)
openssl req -new -key private.key -out csr.csr
生成一個證書簽名請求文件csr.csr
,用于向證書頒發機構申請證書簽名。
查看證書信息
openssl x509 -in certificate.crt -text -noout
顯示證書文件certificate.crt
的詳細信息。
對稱加密解密數據
openssl enc -e -aes-256-cbc -in plaintext.txt -out ciphertext.bin -k password
openssl enc -d -aes-256-cbc -in ciphertext.bin -out plaintext.txt -k password
使用AES-256-CBC算法對文件plaintext.txt
進行加密生成密文文件ciphertext.bin
,以及對密文文件ciphertext.bin
進行解密生成明文文件plaintext.txt
,加解密時使用的密碼為password
。
RSA加密解密數據
openssl rsautl -encrypt -pubin -in plaintext.txt -out ciphertext.bin -inkey public.key
openssl rsautl -decrypt -in ciphertext.bin -out plaintext.txt -inkey private.key
使用RSA算法對文件plaintext.txt
進行加密生成密文文件ciphertext.bin
,以及對密文文件ciphertext.bin
進行解密生成明文文件plaintext.txt
,加解密時使用的公鑰和私鑰分別為public.key
和private.key
。
OpenSSL提供了豐富的命令,以下是一些常用的子命令及其功能:
asn1parse
:解析ASN.1序列。ca
:證書頒發機構(CA)管理。ciphers
:加密套件描述確定。cms
:CMS(Cryptographic Message Syntax,加密消息語法)實用程序。crl
:證書吊銷列表(CRL)管理。dgst
:消息摘要計算。dh
:Diffie-Hellman參數管理。dsa
:DSA數據管理。ec
:EC(橢圓曲線)密鑰處理。enc
:使用加密套件進行編碼。engine
:引擎(可裝載模塊)信息和操作。errstr
:錯誤編號到錯誤字符串的轉換。-help
:顯示幫助信息。-version
:顯示OpenSSL的版本信息。-in file
:指定輸入文件。-out file
:指定輸出文件。-noout
:禁止輸出原始文件內容。-text
:以可讀的文本格式顯示內容。以上是OpenSSL命令的一部分,更多命令和詳細用法可以參考OpenSSL官方文檔或相關資源。