openssl
是一个强大的加密工具包,它提供了很多命令行工具来执行各种加密任务,比如生成密钥对、创建和管理证书、加密和解密数据等。以下是一些常用的 openssl
命令及其用法:
-
生成RSA私钥:
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 -new -x509 -days 365 -key private.key -out certificate.crt
这条命令会生成一个自签名的X.509证书,有效期为365天,并将其保存在
certificate.crt
文件中。在执行此命令时,系统会提示你输入一些信息,如国家、组织名称等。 -
加密文件:
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
这条命令会使用AES-256-CBC算法加密
plaintext.txt
文件,并将加密后的内容保存到encrypted.txt
文件中。在执行此命令时,系统会提示你输入一个密码。 -
解密文件:
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
这条命令会使用相同的AES-256-CBC算法解密
encrypted.txt
文件,并将解密后的内容保存到decrypted.txt
文件中。在执行此命令时,系统会提示你输入之前加密时使用的密码。 -
查看证书信息:
openssl x509 -in certificate.crt -text -noout
这条命令会显示证书
certificate.crt
的详细信息。 -
创建PKCS#12格式的文件:
openssl pkcs12 -export -out certificate.p12 -inkey private.key -in certificate.crt
这条命令会将私钥和证书打包成一个PKCS#12格式的文件
certificate.p12
。 -
从PKCS#12文件中提取证书:
openssl pkcs12 -in certificate.p12 -clcerts -nokeys -out certificate.crt
这条命令会从PKCS#12文件
certificate.p12
中提取证书,并将其保存到certificate.crt
文件中。 -
从PKCS#12文件中提取私钥:
openssl pkcs12 -in certificate.p12 -nocerts -out private.key
这条命令会从PKCS#12文件
certificate.p12
中提取私钥,并将其保存到private.key
文件中。
这些只是 openssl
命令的一部分功能。openssl
是一个非常强大的工具,可以执行许多其他加密任务。在使用 openssl
命令时,建议查阅官方文档或使用 openssl help
命令来获取更多信息。