Hi,

We use openssl extensively in our product, today we upgraded from openssl 1.0.2b to 1.0.2c (we build everything from source so the ABI change from 1.0.2a to 1.0.2b didn't affect us), and are seeing issues. I think I have tracked it down to the lines below from HMAC_init_ex, which were introduced as part of the HMAC ABI fix (1030f89f5ea238820645e3d34049eb1bd30e81c4):

+    /* If we are changing MD then we must have a key */
+    if (md != NULL && md != ctx->md && (key == NULL || len < 0))
+        return 0;

previously you could call HMAC_init_ex with an evp_md and a NULL key, this would save the evp_md in the HMAC_ctx and return, now it just returns and on first call you need to provide both a key and an evp_md. Before I go and modify our code, is this change intentional ?

The docs (http://www.openssl.org/docs/crypto/hmac.html) state:

HMAC_Init_ex() initialises or reuses a HMAC_CTX structure to use the function evp_md and key key. Either can be NULL, in which case the existing one will be reused. HMAC_CTX_init() must have been called before the first use of an HMAC_CTX in this function.

Thanks in advance for the clarification,

Scott Harrison

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

Reply via email to