OpenSSL是一个强大的加密工具包,它可以在命令行界面中执行各种加密和解密任务。以下是一些基本的OpenSSL命令行用法:
生成RSA私钥:
openssl genrsa -out rsa_private_key.pem 2048
这条命令会生成一个2048位的RSA私钥,并将其保存在rsa_private_key.pem
文件中。
从私钥生成证书签名请求(CSR):
openssl req -new -key rsa_private_key.pem -out csr.pem
这条命令会使用私钥生成一个证书签名请求,并将其保存在csr.pem
文件中。在执行此命令时,系统会提示你输入一些信息,如国家、组织名称等。
使用CA证书和私钥签发证书:
假设你有一个CA证书ca_certificate.pem
和对应的私钥ca_private_key.pem
,以及一个CSR文件csr.pem
,你可以使用以下命令来签发证书:
openssl x509 -req -in csr.pem -CA ca_certificate.pem -CAkey ca_private_key.pem -CAcreateserial -out certificate.pem -days 365
这条命令会签发一个有效期为365天的证书,并将其保存在certificate.pem
文件中。
加密文件:
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt -pass pass:your_password
这条命令会使用AES-256-CBC算法加密plaintext.txt
文件,并将加密后的内容保存在encrypted.txt
文件中。加密过程中使用的密码是your_password
。
解密文件:
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt -pass pass:your_password
这条命令会使用相同的AES-256-CBC算法和密码your_password
来解密encrypted.txt
文件,并将解密后的内容保存在decrypted.txt
文件中。
查看证书信息:
openssl x509 -in certificate.pem -text -noout
这条命令会显示certificate.pem
证书的详细信息。
生成Diffie-Hellman参数和密钥交换:
openssl dhparam -out dhparams.pem 2048
openssl genpkey -paramfile dhparams.pem -out dh_private_key.pem
openssl pkey -in dh_private_key.pem -pubout -out dh_public_key.pem
这些命令会生成Diffie-Hellman参数、私钥和公钥。
请注意,以上命令中的文件路径和密码应根据你的实际情况进行修改。此外,OpenSSL提供了许多其他功能和选项,你可以查阅其官方文档以获取更多信息。