How can I use OpenSSL to encrypt a message using my public key and then decrypt it using a private key?

Here is what I tried:

Encrypt Public Key Message

openssl enc -aes-256-cbc -salt -kfile key.pub -in message.txt -out message.enc

Decrypt message using my private key

openssl enc -d -aes-256-cbc -salt -in message.enc -pass file:mykey.pem 

Decryption error

bad decrypt
452:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:330:
+3
source share
4 answers

This code works:

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
+4
source

For use

openssl rsautl -pubin -inkey key.pub -encrypt -in message.txt -out message.enc

You need to define the -raw option to ignore the padding :)

openssl rsautl -pubin -inkey key.pub -encrypt -in message.txt -out message.enc -raw

+1
source

enc - symmetric cipher routines, rsautl

:

  • , enc
  • rsautl
  • Send encoded message and encoded passphrase

On the receiver side

  • Decrypt passphrase using rsautlprivate key
  • Decrypt message using encpassphrase
+1
source

Encryption:

openssl enc -aes-256-cbc -salt -pass file:password.txt -in message.txt -out message.enc

Decrypt:

openssl enc -aes-256-cbc -d -salt -pass file:password.txt -in message.enc -out message.dec

If the first line of the file password.txtcontains your password.

0
source

Source: https://habr.com/ru/post/1735742/


All Articles