Use supplied ENGINE when initialising CMAC. Restore pctx setting.

This commit is contained in:
Dr. Stephen Henson 2010-02-08 16:31:28 +00:00
parent bae060c06a
commit e3e31ff482
2 changed files with 3 additions and 1 deletions

View File

@ -138,7 +138,7 @@ static int pkey_cmac_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
break;
case EVP_PKEY_CTRL_CIPHER:
if (!CMAC_Init(cmctx, NULL, 0, p2, NULL))
if (!CMAC_Init(cmctx, NULL, 0, p2, ctx->engine))
return 0;
break;

View File

@ -113,6 +113,8 @@ static int do_sigver_init(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
}
if (EVP_PKEY_CTX_set_signature_md(ctx->pctx, type) <= 0)
return 0;
if (pctx)
*pctx = ctx->pctx;
if (ctx->pctx->pmeth->flags & EVP_PKEY_FLAG_SIGCTX_CUSTOM)
return 1;
if (!EVP_DigestInit_ex(ctx, type, e))