What am I doing wrong? This code fragment:
#include <stdio.h> #include <string.h> #include <openssl/evp.h> #include <openssl/hmac.h> #define KEYLEN 64 HMAC_CTX * HMACInit(const unsigned char *key,int key_len) { HMAC_CTX *ctx = (HMAC_CTX *) Tcl_Alloc(sizeof(HMAC_CTX)); HMAC_CTX_init(ctx); unsigned char paddedkey[KEYLEN]; unsigned char md_value[EVP_MAX_MD_SIZE]; unsigned int md_len; if (key_len > KEYLEN) { EVP_MD_CTX mdctx; EVP_MD_CTX_init(&mdctx); EVP_DigestInit_ex(&mdctx,(const EVP_MD *)EVP_sha256,NULL); EVP_DigestUpdate(&mdctx,key,key_len); EVP_DigestFinal_ex(&mdctx,md_value,&md_len); key = md_value; key_len = md_len; } memset(paddedkey,0,KEYLEN); memcpy(paddedkey,key,key_len); HMAC_Init_ex(ctx,paddedkey,KEYLEN,(const EVP_MD *)EVP_sha256,NULL); return ctx; } is causing this abort message: fips_hmac.c(91): OpenSSL internal error, assertion failed: j <= sizeof ctx->key Abort I am using openssl-0.9.8e-27.el5_10.3 and openssl-devel-0.9.8e-27.el5_10.3 on a 64-bit CentOS 5.10 system. -- Robert Heller -- 978-544-6933 Deepwoods Software -- Custom Software Services http://www.deepsoft.com/ -- Linux Administration Services hel...@deepsoft.com -- Webhosting Services ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager majord...@openssl.org