openssl
是一个强大的加密工具包,它提供了许多命令行工具来执行各种加密任务。以下是一些常用的 openssl
命令及其用法:
生成密钥对
openssl genrsa -out private.key 2048
openssl rsa -in private.key -pubout -out public.key
生成证书签名请求 (CSR)
openssl req -new -key private.key -out certificate.csr
自签名证书
openssl req -x509 -new -nodes -key private.key -sha256 -days 365 -out certificate.crt
加密文件
openssl rsautl -encrypt -inkey public.key -pubin -in plaintext.txt -out encrypted.bin
解密文件
openssl rsautl -decrypt -inkey private.key -in encrypted.bin -out decrypted.txt
查看证书信息
openssl x509 -in certificate.crt -text -noout
生成Diffie-Hellman参数和密钥
openssl dhparam -out dhparams.pem 2048
openssl genpkey -paramfile dhparams.pem -out dhprivate.pem
生成AES加密的文件
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin -pass pass:yourpassword
解密AES加密的文件
openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt -pass pass:yourpassword
创建PKCS#12文件
openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt
从PKCS#12文件中提取证书和私钥
openssl pkcs12 -in certificate.p12 -clcerts -nokeys -out certificate.crt
openssl pkcs12 -in certificate.p12 -nocerts -out private.key
生成SHA-256哈希
openssl dgst -sha256 file.txt
生成RSA签名
openssl dgst -sha256 -sign private.key -out signature.bin file.txt
验证RSA签名
openssl dgst -sha256 -verify public.key -signature signature.bin file.txt
这些只是 openssl
命令的一部分功能。openssl
是一个非常全面的工具,可以用于SSL/TLS通信、证书管理、加密和解密文件、生成和管理私钥和公钥对等多种任务。要查看所有可用的 openssl
命令和选项,可以在命令行中输入 openssl help
或查阅官方文档。