在Ubuntu上,OpenSSL是一個強大的加密工具包,提供了許多命令行工具來執行各種加密任務。以下是一些常用的OpenSSL命令:
openssl genrsa -out private.key 2048
:生成一個2048位的RSA私鑰。openssl rsa -in private.key -pubout -out public.pem
:從私鑰生成公鑰。openssl req -new -key private.key -out request.csr
:創建一個新的CSR。openssl req -x509 -new -nodes -key private.key -sha256 -days 365 -out certificate.crt
:生成一個有效期為365天的自簽名證書。openssl x509 -in certificate.crt -text -noout
:顯示證書的詳細信息。openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
:使用AES-256-CBC算法加密文件。openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
:解密文件。openssl dgst -sha256 -sign private.key -out signature.bin plaintext.txt
:使用私鑰對文件進行簽名。openssl dgst -sha256 -verify public.pem -signature signature.bin plaintext.txt
:驗證文件的簽名。openssl rand -base64 32
:生成32字節的隨機數據并編碼為Base64。openssl verify -CAfile ca.crt certificate.crt
:驗證證書是否由指定的CA簽發。openssl x509 -in certificate.crt -outform DER -out certificate.der
:將PEM格式的證書轉換為DER格式。openssl rsa -in private.key -check
:檢查私鑰的有效性。openssl rsa -in private.key -passin pass:yourpassword -out new_private.key
:使用密碼保護私鑰。openssl s_client -connect example.com:443
:連接到指定服務器并顯示SSL/TLS握手信息。openssl s_server -www -accept 443 -cert certificate.crt -key private.key
:啟動一個簡單的SSL/TLS服務器。openssl dgst -sha256 plaintext.txt
:生成文件的SHA-256摘要。openssl dgst -sha256 -verify hash.txt -signature signature.bin plaintext.txt
:驗證文件的摘要是否匹配。這些命令只是OpenSSL功能的一部分,具體使用時可以根據需求進行調整和組合。在使用這些命令時,請確保了解每個選項的含義和潛在的安全風險。