[openssl-users] Problems with man page code example at EVP_EncryptInit

Short, Todd tshort at akamai.com
Wed Sep 5 14:45:42 UTC 2018

PRs on GitHub to fix documentation are always welcome.
-Todd Short
// tshort at akamai.com<mailto:tshort at akamai.com>
// "One if by land, two if by sea, three if by the Internet."

On Sep 5, 2018, at 10:18 AM, Sam Habiel <sam.habiel at gmail.com<mailto:sam.habiel at gmail.com>> wrote:

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<mailto: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.

openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20180905/4a660710/attachment-0001.html>

More information about the openssl-users mailing list