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
命令来获取更多信息。