Use supplied ENGINE when initialising CMAC. Restore pctx setting.
authorDr. Stephen Henson <steve@openssl.org>
Mon, 8 Feb 2010 16:31:28 +0000 (16:31 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 8 Feb 2010 16:31:28 +0000 (16:31 +0000)
crypto/cmac/cm_pmeth.c
crypto/evp/m_sigver.c

index 585fc8e..c581e78 100644 (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;
 
index 2fd35a9..c7b7390 100644 (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))