[openssl-users] EVP_CIPHER_CTX array not compiling

Lior Koskas liork.cryptobiu at gmail.com
Sun Apr 23 12:49:22 UTC 2017


I have a problem with converting my C++ library into OpenSSL v1.1.0.

I'm using CentOS 7 and OpenSSL v1.1.0.
When I'm trying to use EVP_CIPHER_CTX as an array, my code does not compile.
I understand that this is caused by making the structures opaque.

The problem is this line

OTEXT_AES_KEY_INIT(ctx + i, pBufIdx);
The operation ctx+i is not compiling. The error I'm receiving is :

invalid use of incomplete type struct evp_cipher_ctx_st.

static void InitAESKey(AES_KEY_CTX* ctx, BYTE* keybytes, int numkeys)
                BYTE* pBufIdx = keybytes;
                for (int i = 0; i < numkeys; i++)
                        OTEXT_AES_KEY_INIT(ctx + i, pBufIdx);
                        pBufIdx += AES_KEY_BYTES;
While OTEXT_AES_KEY_INIT is macro defined like this:

#define OTEXT_AES_KEY_INIT(ctx, buf) { \
        EVP_CIPHER_CTX_init(ctx); \
        EVP_EncryptInit_ex(ctx, EVP_aes_128_ecb(), NULL, buf, ZERO_IV); \

​What I'm doing wrong?​

Lior           Koskas
Software Engineer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20170423/42e6499e/attachment.html>

More information about the openssl-users mailing list