[openssl-users] Problems with man page code example at EVP_EncryptInit
sam.habiel at gmail.com
Wed Sep 5 14:18:06 UTC 2018
I had to double check something--I was wrong about something--&outlen
is not incremented inside of openssl--so you have to keep another
variable to which you add outlen and use that to set the read/write
pointer in outbuf.
On Wed, Sep 5, 2018 at 10:04 AM Sam Habiel <sam.habiel at gmail.com> wrote:
> First time poster. I hope I am writing to the right place.
> Example for "General encryption and decryption function example using
> FILE I/O and AES128 with a 128-bit key" has two errors. I spent a lot
> of time trying to figure out what I did wrong for a while...
> 1. ctx is already a pointer; it does not need to be indirected to get
> the pointer.
> EVP_CipherInit_ex(&ctx, EVP_aes_128_cbc(), NULL, NULL, NULL,
> should say:
> EVP_CipherInit_ex(ctx, EVP_aes_128_cbc(), NULL, NULL, NULL, do_encrypt);
> 2. ciphertext length is not used to update write position:
> if(!EVP_CipherUpdate(ctx, outbuf, &outlen, inbuf, inlen))
> if(!EVP_CipherFinal_ex(ctx, outbuf, &outlen))
> should say (what worked for me):
> if(!EVP_CipherUpdate(ctx, outbuf + outlen, &outlen,
> inbuf, inlen))
> if(!EVP_CipherFinal_ex(ctx, outbuf + outlen, &outlen))
> It would be nice if there is a complete example that compiles and has
> a main() to run it.
More information about the openssl-users