OpenSSL加密工具使用

mtain 2022年04月24日 618次浏览

1. 生成RSA加密证书

# 生成1024长度的私钥,保存在rsa_private_key.pem文件中
openssl genrsa -out rsa_private_key.pem 1024

# 从私钥文件中保存公钥到rsa_public_key.pem文件中
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

------------------------------------------------
# 将PEM格式的私钥文件rsa_private_key.pem转成PEM格式的不加密的私钥文件
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

2. 生成https自签名证书

# 生成rsa私钥,des3算法,1024位强度,ssl.key是秘钥文件名。
openssl genrsa -des3 -out ssl.key 1024

# 终端执行删除密码命令
openssl rsa -in ssl.key -out ssl.key

# 生成CSR(证书签名请求),填写国家、地区、城市等,Common Name填写域名
openssl req -new -key ssl.key -out ssl.csr

# 生成自签名证书
openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt

3. RSA证书加密文件

# 用公钥加密文件
openssl rsautl -encrypt -in test01.txt -inkey pub.key -pubin -out test01.txt.enc
# 用私钥解密这个文件
openssl rsautl -decrypt -in test01.txt.enc -inkey private.pem -out test01.txt

4. AES-256加密文本

# 加密
openssl enc -e -aes-256-cbc -in test01.txt -out test01.txt.enc

# 解密
openssl enc -d -aes-256-cbc -in test01.txt.enc -out test01.txt

5. DES3加密文件

# 文件加密
openssl enc -des3 -e -in ClearText.txt -out EncryptedText.txt
openssl enc -des3 -e -in ClearText.txt -out EncryptedText.txt -k 123456

# 文件解密
openssl enc -des3 -d -in EncryptedText.txt -out ClearText.txt
openssl enc -des3 -d -in EncryptedText.txt -out ClearText.txt -k 123456