[openssl-users] Problems with man page code example at EVP_EncryptInit
Sam Habiel
sam.habiel at gmail.com
Wed Sep 5 14:04:32 UTC 2018
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,
do_encrypt);
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))
and
if(!EVP_CipherFinal_ex(ctx, outbuf, &outlen))
should say (what worked for me):
if(!EVP_CipherUpdate(ctx, outbuf + outlen, &outlen,
inbuf, inlen))
and
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.
--Sam
More information about the openssl-users
mailing list