OpenSSL是一个强大的加密工具包,它可以在Linux命令行中使用。以下是一些基本的OpenSSL命令行用法:
生成RSA密钥对:
openssl genrsa -out rsa_key.pem 2048
这将生成一个2048位的RSA私钥,并将其保存到rsa_key.pem
文件中。
从私钥生成CSR(证书签名请求):
openssl req -new -key rsa_key.pem -out csr.pem
这将使用之前生成的私钥创建一个CSR,并将其保存到csr.pem
文件中。在执行此命令时,系统会提示您输入一些信息,如国家、组织名称等。
使用CA证书签发CSR:
假设您有一个CA证书ca_cert.pem
和对应的私钥ca_key.pem
,您可以使用以下命令签发CSR:
openssl x509 -req -in csr.pem -CA ca_cert.pem -CAkey ca_key.pem -CAcreateserial -out certificate.pem -days 365
这将生成一个有效期为365天的证书,并将其保存到certificate.pem
文件中。
查看证书信息:
openssl x509 -in certificate.pem -text -noout
这将显示证书的详细信息。
加密文件:
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
这将使用相同的密码解密encrypted.txt
文件,并将解密后的内容保存到decrypted.txt
文件中。
生成Diffie-Hellman参数和密钥对:
openssl dhparam -out dhparams.pem 2048
openssl genpkey -paramfile dhparams.pem -out dh_key.pem
这将生成Diffie-Hellman参数并将其保存到dhparams.pem
文件中,然后使用这些参数生成一个DH密钥对并将其保存到dh_key.pem
文件中。
生成ECC密钥对:
openssl ecparam -name secp384r1 -genkey -noout -out ecc_key.pem
这将生成一个ECC密钥对(使用secp384r1曲线)并将其保存到ecc_key.pem
文件中。
这些只是OpenSSL命令行工具的一些基本用法。OpenSSL提供了许多其他功能和选项,您可以通过阅读其手册页(man openssl
)或在线文档来了解更多信息。