openssl rsautl -encrypt -inkey public.pem -pubin -in key.bin … PKCS#1 v1.5 and PSS (PKCS#1 v2) are your best bets. There is a lot of OpenSSL commands which you could use for various operations. When i do [rsautl] i get [PKCS1 padding error] base64 isn't *a* format, it's an encoding that can be and is used for many many formats. openssl enc -aes-256-cbc -salt -in myLargeFile.xml \ -out myLargeFile.xml.enc -pass file:./key.bin Encrypt the symmetric key so you can safely send it to the other person. Base64 itself does not impose a line split, but openssl uses it in PEM context hence enforce that base64 content is splitted by lines with a maximum of 80 characters. OpenSSL's RSA_private_encrypt does the opposite: it encrypts (small) message with private key (akin to creating a signature from message hash). With C code it is possible to ask to disregard lines breaks : BIO_set_flags(d,BIO_FLAGS_BASE64_NO_NL); OpenSSL is a powerful cryptography toolkit that can be used for encryption of files and messages. base64 encode content, if needed to mail the file " openssl base64 -e -in content.enc -out content.enc.b64: echo " encrypt: keyfile with public key of recipient " openssl rsautl -encrypt -pubin -inkey recipient-key.pub.pem -in keyfile -out keyfile.enc: echo " generate: mail friendly recipient only key " >From: [hidden email] On Behalf Of Matt McPhee >Sent: Wednesday, 21 August, 2013 07:17 >I am new to OpenSSL and have a private RSA key and am trying to >read a encrypted message that looks to be in base64 format but >I'm not to sure. You can use rsautl to "decrypt" the signature, getting access to the raw verification data:. Later, the alias openssl-cmd(1) was introduced, which made it easier to group the openssl commands using the apropos(1) command or the shell's tab completion. The public key is not assumed to be secret, so this establishes data authenticity, not data privacy. You … This "signing" can also be achieved with this command: openssl rsautl -sign -inkey path/to/private/key.pem \ -in file/to/encrypt -out encrypted/output The -verify switch is a bit misleading, the command only outputs the decrypted hash. openssl rsautl expects a signature in binary format, not Base64-encoded. openssl rand -base64 32 > key.bin Encrypt the large file using the symmetric key. $ cat encrypted.txt | base64 -d | openssl rsautl -verify -pubin -inkey public.key -in - proof that private key can encrypt and public key can decrypt As you can see, the decrypted file correctly matches the text we wrote into it in the encryption step. base64 uses PEM 80 characters per line . From … openssl base64 -d < blob | openssl rsautl -inkey ~/.pub.key -pubin In doing so, users verify that the private key was involved in the creation of the message, lending some authenticity to the data that has been transferred. openssl rsautl -verify -inkey pubkey.pem -pubin -in sigfile_octet This will yield the signature's DER-encoded ASN.1 structure. Here are options supported by the "rsautl" DESCRIPTION The rsautlcommand can be used to sign, verify, encrypt, and decrypt data using the RSA algorithm. echo " generate: mail friendly attachment. OpenSSL, OpenSSL "rsautl" command is a utility to sign, verify, encrypt and decrypt data using RSA private key and public key. If you want to use the same password for both encryption of plaintext and decryption of ciphertext, then you have to use a method that is known as symmetric-key algorithm. That's a sequence containing the algorithm identifier of the hash algorithm that was used, followed by the hash itself. OpenSSL is an open-source implementation of the SSL protocol. You should also check the signature scheme used.