openssl genrsa -out private_rsa_key.pem 1024
openssl rsa -in private_rsa_key.pem -out pub_rsa_key.pem -outform PEM -pubout
cat hello.txt
hello world!
blabla
2,用公钥pub_rsa_key.pem 加密文件
openssl rsautl -encrypt -in hello.txt -inkey pub_rsa_key.pem -pubin -out hello.en
3,查看加密后的文件
vi hello.en
4,用私钥private_rsa_key.pem解密文件
openssl rsautl -decrypt -in hello.en -inkey private_rsa_key.pem -out hello.de
5,查看解密后的文件,与原文件hello.txt对比
diff hello.de hello.txt
三、私钥加密,公钥解密(常用于数字签名):
1,用私钥private_rsa_key.pem 对hello.txt进行签名,生成文件hello.sigged
openssl rsautl -sign -in hello.txt -inkey private_rsa_key.pem -out hello.sigged
2, 用公钥pub_rsa_key.pem对hello.sigged进行验证,验证结果在hello.verified
openssl rsautl -verify -inkey pub_rsa_key.pem -keyform PEM -pubin -in hello.sigged -out hello.verified
3,对比文件
diff hello.verified hello.txt
四、base64格式编解码
1,将二进制文件hello.bin编码成base64格式,输出到hello.b64
openssl base64 -in hello.bin -out hello.b64
2,将base64格式的文件转换成bin文件
openssl base64 -d -in hello.b64 -out hello.bin