如何使用 OpenSSL 使用我的公钥加密消息,然后使用我的私钥解密?

wre*_*_hc 3 encryption openssl public-key private-key

这是我尝试过的:

使用我的公钥加密消息

openssl enc -aes-256-cbc -salt -kfile key.pub -in message.txt -out message.enc
Run Code Online (Sandbox Code Playgroud)

使用我的私钥解密消息

openssl enc -d -aes-256-cbc -salt -in message.enc -pass file:mykey.pem 
Run Code Online (Sandbox Code Playgroud)

解密错误

bad decrypt
452:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:
Run Code Online (Sandbox Code Playgroud)

wre*_*_hc 5

这段代码的工作原理:

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
Run Code Online (Sandbox Code Playgroud)

  • 问题是你只能用它来加密小消息。如果您尝试加密任何超过密钥大小减去 11 字节的内容,您将收到一条错误消息,例如: rsaroutines:RSA_padding_add_PKCS1_type_2:data too big for key size (3认同)