OpenSSL是一个开源的加密工具包,提供了一系列的命令行工具,用于在Linux系统中操作加密、解密、签名、验证等各种加密算法和证书操作。以下是一些常用的OpenSSL命令及其用法:
openssl genrsa -out private.key 2048:生成一个2048位的RSA私钥文件private.key。openssl rsa -in private.key -pubout -out public.key:从私钥文件private.key中提取公钥并保存到public.key文件。openssl req -x509 -newkey rsa:2048 -nodes -keyout private.key -out certificate.crt -days 365:生成一个自签名的X.509证书文件certificate.crt,有效期为365天。openssl req -new -key private.key -out csr.csr:生成一个证书签名请求文件csr.csr,用于向证书颁发机构申请证书签名。openssl x509 -in certificate.crt -text -noout:显示证书文件certificate.crt的详细信息。openssl enc -aes-256-cbc -e -in plaintext.txt -out ciphertext.bin -k password:对明文文件plaintext.txt进行AES-256-CBC对称加密,生成密文文件ciphertext.bin,加密密码为password。openssl enc -d -aes-256-cbc -in ciphertext.bin -out plaintext.txt -k password:对密文文件ciphertext.bin进行解密,生成明文文件plaintext.txt,解密密码为password。openssl rsautl -encrypt -pubin -in plaintext.txt -out ciphertext.bin -inkey public.key:对明文文件plaintext.txt进行RSA加密,生成密文文件ciphertext.bin,使用公钥public.key。openssl rsautl -decrypt -in ciphertext.bin -out plaintext.txt -inkey private.key:对密文文件ciphertext.bin进行RSA解密,生成明文文件plaintext.txt,使用私钥private.key。openssl dgst -SHA256 -hex msg.txt:使用SHA256哈希算法生成摘要,输出为十六进制编码的摘要。openssl dgst -SHA256 -out dgst.txt msg.txt:将摘要输出到文件dgst.txt。openssl dgst -sha256 -sign rsa.key -out signature.txt msg.txt:使用rsa.key对msg.txt进行数字签名,生成签名文件signature.txt。openssl dgst -sha256 -verify rsa_pub.key -signature signature.txt msg.txt:验证signature.txt签名的有效性,使用rsa_pub.key和msg.txt。以上只是OpenSSL命令的一部分,它们提供了丰富的功能,可用于加密通信、生成和管理证书等操作。在实际使用过程中,你可以根据具体需求参考OpenSSL官方文档以及其他资源,深入了解和学习更多的OpenSSL命令用法。