If EVP_PKEY structure contains an ENGINE the key is ENGINE specific and
authorDr. Stephen Henson <steve@openssl.org>
Tue, 16 Nov 2010 12:11:15 +0000 (12:11 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 16 Nov 2010 12:11:15 +0000 (12:11 +0000)
we should use its method instead of any generic one.

crypto/evp/pmeth_lib.c

index b2d8de3a8de926708efa5420de6252694a5edfd4..5481d4b8a5b88870cf42efc99169df0bba8cf928 100644 (file)
@@ -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)
                {