OpenSSL是一个强大的加密工具,可以在Ubuntu上使用命令行界面进行操作。以下是一些基本的OpenSSL命令行用法:
生成RSA密钥对:
openssl genpkey -algorithm RSA -out rsa_key.pem -pkeyopt rsa_keygen_bits:2048
这将生成一个2048位的RSA私钥,并保存在rsa_key.pem文件中。
从私钥生成公钥:
openssl rsa -pubout -in rsa_key.pem -out rsa_key.pub
这将从私钥rsa_key.pem生成对应的公钥,并保存在rsa_key.pub文件中。
加密文件:
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.bin -pass pass:yourpassword
使用AES-256-CBC算法加密plaintext.txt文件,并将加密后的数据保存到encrypted.bin文件中。加密时需要提供密码yourpassword。
解密文件:
openssl enc -d -aes-256-cbc -in encrypted.bin -out decrypted.txt -pass pass:yourpassword
使用相同的密码yourpassword解密encrypted.bin文件,并将解密后的数据保存到decrypted.txt文件中。
生成自签名证书:
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out certificate.crt -days 365 -nodes
这将生成一个自签名的X.509证书,有效期为365天,并将私钥保存在key.pem文件中,证书保存在certificate.crt文件中。
查看证书信息:
openssl x509 -in certificate.crt -text -noout
这将显示certificate.crt证书的详细信息。
生成CSR(证书签名请求):
openssl req -new -key rsa_key.pem -out csr.pem
这将生成一个CSR文件csr.pem,用于向证书颁发机构(CA)申请证书。
验证证书:
openssl verify -CAfile ca_certificate.crt certificate.crt
这将验证certificate.crt证书是否由ca_certificate.crtCA颁发。
这些只是OpenSSL命令行工具的一些基本用法。OpenSSL功能非常强大,支持多种加密算法和协议,可以用于各种安全相关的任务。在使用时,请确保理解每个命令的参数和选项,以避免安全风险。