use OpenSSL to encrypt file by RSA key
已有文件
- 未加密文件 secretfile.txt
- 接受方的公钥 recipients-key.pub
产生一次性加密解密对称密钥secret.key
256 bit (32 byte) random key
1 | openssl rand -out secret.key 32 |
使用secret.key 加密所需文件
生成加密后文件secretfile.txt.enc
1 | openssl aes-256-cbc -in secretfile.txt -out secretfile.txt.enc -pass file:secret.key |
使用公钥recipients-key.pub加密secret.key
得到加密过的一次性key : secret.key.enc
1 | openssl rsautl -encrypt -oaep -pubin -inkey <(ssh-keygen -e -f recipients-key.pub -m PKCS8) -in secret.key -out secret.key.enc |
<()
是子进程的意思。
1 | rm secret.key |
发送加密文件
加密文件 secretfile.txt.enc和 secret.key.enc
use OpenSSL to descrypt file
已有文件
- 加密文件 secretfile.txt.enc和 secret.key.enc
- 接受方的私钥
解密secret.key.enc
1 | openssl rsautl -decrypt -oaep -inkey ~/.ssh/id_rsa -in secret.key.enc -out secret.key |
解密secretfile.txt.enc
1 | openssl aes-256-cbc -d -in secretfile.txt.enc -out secretfile.txt -pass file:secret.key |
需要进一步的研究学习
- 使用 publickey.pem 可以看这篇 https://blog.csdn.net/makenothing/article/details/54645578
- id_rsa.pub.pem产生可以看这个 https://www.czeskis.com/random/openssl-encrypt-file.html
遇到的问题
暂无