Encryption 如何使用OpenSSL使用公钥加密消息,然后使用私钥解密?
以下是我尝试过的: 使用我的公钥加密邮件Encryption 如何使用OpenSSL使用公钥加密消息,然后使用私钥解密?,encryption,openssl,public-key,private-key,Encryption,Openssl,Public Key,Private Key,以下是我尝试过的: 使用我的公钥加密邮件 openssl enc -aes-256-cbc -salt -kfile key.pub -in message.txt -out message.enc openssl enc -d -aes-256-cbc -salt -in message.enc -pass file:mykey.pem 使用我的私钥解密邮件 openssl enc -aes-256-cbc -salt -kfile key.pub -in message.txt -ou
openssl enc -aes-256-cbc -salt -kfile key.pub -in message.txt -out message.enc
openssl enc -d -aes-256-cbc -salt -in message.enc -pass file:mykey.pem
使用我的私钥解密邮件
openssl enc -aes-256-cbc -salt -kfile key.pub -in message.txt -out message.enc
openssl enc -d -aes-256-cbc -salt -in message.enc -pass file:mykey.pem
解密错误
bad decrypt
452:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:
加密:
openssl enc -aes-256-cbc -salt -pass file:password.txt -in message.txt -out message.enc
解密:
openssl enc -aes-256-cbc -d -salt -pass file:password.txt -in message.enc -out message.dec
其中文件password.txt的第一行包含您的密码。此代码有效:
openssl rsautl -pubin -inkey key.pub -encrypt -in message.txt -out message.enc
openssl rsautl -inkey privkey.pem -decrypt -in message.enc -out message.dec
供使用
openssl rsautl-pubin-inkey key.pub-encrypt-in message.txt-out message.enc
您需要定义选项-raw以忽略填充:)
openssl rsautl-pubin-inkey key.pub-encrypt-in message.txt-out message.enc-raw
enc-对称密码例程
因此您应该使用rsautl
正确的解决方案:
在发送方侧
生成密码短语
使用带有密码短语的enc
加密您的邮件
使用带有公钥的rsautl
加密密码短语
发送编码消息和编码密码短语
在接收器侧
使用带有私钥的rsautl
解密密码短语
使用带有密码短语的enc
解密消息
这个方法使用一个简单的密码文本文件就可以很好地工作,但是我需要使用我的公钥进行加密,然后使用我的私钥进行解密。这个方法有效:openssl rsautl-pubin-inkey-key.pub-encrypt-in message.txt-out message.enc openssl rsautl-inkey privkey.pem-decrypt-in message.enc-out message.dec问题是你只能使用它加密小消息。如果您尝试加密任何超过密钥大小减去11字节的内容,您将收到一条错误消息,如:rsa例程:rsa\u padding\u add\u PKCS1\u type\u 2:对于密钥大小而言,数据太大enc-对称密码例程
,因此您应该使用rsautl