如何使用公钥加密大文件,以便除了拥有私钥的人之外没有人能够解密它?
我可以制作RSA公钥和私钥,但是在使用此命令加密大文件时:
openssl rsautl -encrypt -pubin -inkey public.pem -in myLargeFile.xml -out myLargeFile_encrypted.xml
我怎样才能执行解密….
我通过以下命令创建我的私钥和公钥
openssl genrsa -out private.pem 1024
openssl rsa -in private.pem -out public.pem -outform PEM -pubout
我收到此错误:
RSA operation error
3020:error:0406D06E:rsa routines:RSA_padding_add_PKCS1_type_2:data too large for key size:.\crypto\rsa\rsa_pk1.c:151:
我试图制作大小从1024到1200位的密钥,没有运气,同样的错误
解决方法:
公钥加密不是用于加密任意长文件.一个使用对称密码(比如AES)来进行常规加密.每次生成,使用新随机对称密钥,然后使用RSA密码(公钥)加密.密文与加密的对称密钥一起被传送给接收者.接收方使用其私钥解密对称密钥,然后使用对称密钥解密消息.
私钥永远不会被共享,只有公钥用于加密随机对称密码.
标签:linux,openssl
来源: https://codeday.me/bug/20190926/1820597.html