使用openssl生成密钥、加密和签名

openssl genrsa -out rsakey.pem 1024  //生成1024bit的RSA密钥,并保存到rsakey.pem,此处未对密钥进行加密
openssl genrsa -aes128 -out rsakey.pem -passout pass:123456 1024 //生成1024bit的RSA密钥,此处对密钥使用AES128进行加密,密钥口令为123456

openssl rsa -in rsakey.pem -out rsa_pubkey.pem -pubout //输入一个密钥文件,提取其中的公钥文件,此处未对输出的公钥文件进行加密
openssl rsa -in rsakey.pem -out rsa_pubkey.pem -pubout -aes128 -passin pass:123456 //使用AES128对输出的公钥进行加密,密钥口令为123456

openssl rsautl -in original.txt -out encrypt.txt -inkey rsa_pubkey.pem -pubin -encrypt -passin pass:123456    //使用公钥对original.txt进行加密,-pubin表示使用公钥
openssl rsautl -in encrypt.txt -out decrypt.txt -inkey rsakey.pem -decrypt -passin pass:123456 //对加密的文件进行解密

openssl rsautl -in original.txt -out encrypt.txt -inkey rsakey.pem -pubin -encrypt -passin pass:123456    //encrypt

openssl rsautl -in original.txt -out sign.txt -inkey rsakey.pem -sign -passin pass:123456    //sign
openssl rsautl -in sign.txt -out verify.txt -inkey rsa_pubkey.pem -pubin -verify -passin pass:123456 //verify

原文地址:https://www.cnblogs.com/fishou/p/4166425.html