OpenSSL是一个开源的加密工具包,提供了许多命令行工具,用于在Linux系统中执行加密、解密、签名、验证等各种操作。以下是一些常用的OpenSSL命令行工具及其功能:
生成密钥对:
openssl genrsa -out private.key
:生成RSA私钥。openssl rsa -in private.key -pubout -out public.key
:从私钥中提取公钥。生成自签名证书:
openssl req -x509 -newkey rsa:2048 -nodes -keyout private.key -out certificate.crt -days 3650
:生成自签名证书。加密和解密文件:
openssl enc -aes-256-cbc -e -in plaintext.txt -out ciphertext.txt -k mypassword
:使用AES-256-CBC算法加密文件。openssl enc -aes-256-cbc -d -in ciphertext.txt -out plaintext.txt -k mypassword
:使用AES-256-CBC算法解密文件。数字签名和验证:
openssl dgst -sha256 -sign private.key -out signature.sign plaintext.txt
:对文件进行数字签名。openssl dgst -sha256 -verify public.key -signature signature.sign plaintext.txt
:验证数字签名。证书管理:
openssl x509 -in certificate.crt -text -noout
:显示证书详细信息。openssl req -new -sha256 -key private.key -out certificate.csr
:生成证书请求文件。openssl x509 -req -in certificate.csr -signkey private.key -out certificate.crt
:签发证书。消息摘要:
openssl dgst -sha1 file.txt
:计算文件的SHA1哈希值。其他功能:
openssl rand -base64 32 -out key.key
:生成随机密钥。openssl enc -list -cipher-algorithms
:列出可用的加密算法。openssl list -cipher-commands
:列出可用的加密命令。这些命令只是OpenSSL功能的一部分,具体操作可以根据实际需求进行调整和使用。