CentOS中的OpenSSL命令非常丰富,以下是一些常用的OpenSSL命令:
生成自签名证书
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
生成私钥
openssl genpkey -algorithm RSA -out private.key
生成CSR(证书签名请求)
openssl req -new -key private.key -out request.csr
查看证书信息
openssl x509 -in cert.pem -text -noout
验证证书
openssl verify -CAfile ca.crt cert.pem
转换证书格式
openssl x509 -in cert.pem -outform DER -out cert.der
openssl x509 -in cert.der -inform DER -outform PEM -out cert.pem
生成Diffie-Hellman参数
openssl dhparam -out dhparam.pem 2048
生成ECDH密钥对
openssl ecparam -genkey -name secp384r1 -out ecdh_key.pem
提取公钥
openssl pkey -in private.key -pubout -out public.pem
对称加密(AES)
openssl enc -aes-256-cbc -salt -in plaintext.txt -out ciphertext.bin -pass pass:mypassword
openssl enc -d -aes-256-cbc -in ciphertext.bin -out decrypted.txt -pass pass:mypassword
非对称加密(RSA)
openssl rsautl -encrypt -pubin -inkey public.pem -in plaintext.txt -out ciphertext.bin
openssl rsautl -decrypt -inkey private.pem -in ciphertext.bin -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
查看SSL/TLS配置
openssl s_client -connect example.com:443 -servername example.com
生成随机数
openssl rand -base64 32
生成随机密码
openssl passwd -1 -salt $(openssl rand -hex 6)
查看OpenSSL版本
openssl version
查看帮助信息
openssl help
请注意,在使用这些命令时,务必小心处理敏感信息,如私钥和密码。建议在安全的环境中操作,并定期备份重要数据。