From: Dr. Stephen Henson Date: Tue, 16 Nov 2010 12:11:31 +0000 (+0000) Subject: If EVP_PKEY structure contains an ENGINE the key is ENGINE specific and X-Git-Tag: OpenSSL_1_0_1-beta1~446 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=972491aecef215d1a5dec78ee8c440d75706d36f;p=openssl If EVP_PKEY structure contains an ENGINE the key is ENGINE specific and we should use its method instead of any generic one. --- diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c index b2d8de3a8d..5481d4b8a5 100644 --- a/crypto/evp/pmeth_lib.c +++ b/crypto/evp/pmeth_lib.c @@ -134,6 +134,8 @@ static EVP_PKEY_CTX *int_ctx_new(EVP_PKEY *pkey, ENGINE *e, int id) id = pkey->ameth->pkey_id; } #ifndef OPENSSL_NO_ENGINE + if (pkey && pkey->engine) + e = pkey->engine; /* Try to find an ENGINE which implements this method */ if (e) {