OpenSSL是一個強大的開源工具,用于實現SSL和TLS協議,以及相關的加密算法。在Linux下,OpenSSL命令行工具提供了豐富的功能,以下是一些常用的技巧和命令:
openssl genrsa -out rsa_key.pem 2048
openssl ecparam -genkey -name secp384r1 -out ecdsa_key.pem
openssl req -new -key rsa_key.pem -out csr.pem
在生成過程中,系統會提示你輸入一些信息,如國家、組織名稱等。openssl x509 -req -days 365 -in csr.pem -signkey rsa_key.pem -out certificate.pem
openssl x509 -in certificate.pem -text -noout
openssl x509 -in certificate.pem -outform DER -out certificate.der
openssl x509 -in certificate.der -inform DER -out certificate.pem
openssl dhparam -out dhparam.pem 2048
openssl genpkey -paramfile dhparam.pem -out dh_key.pem
openssl rand -out random_number.bin 32
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin
openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt
openssl dgst -sha256 -sign private_key.pem -out signature.bin file.txt
openssl dgst -sha256 -verify public_key.pem -signature signature.bin file.txt
openssl base64url -in payload.json | openssl enc -base64 -A | openssl dgst -sha256 -hmac secret_key -binary | openssl base64url -A
openssl verify -CAfile ca_certificate.pem intermediate_certificate.pem end_entity_certificate.pem
openssl s_client -connect example.com:443 -servername example.com
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進行各種加密和安全相關的操作。根據具體需求,你可以組合和擴展這些命令來實現更復雜的功能。