diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2010-11-16 12:11:46 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2010-11-16 12:11:46 +0000 |
commit | ad889de09719b7b4065755d3f6924be2b9f47fcc (patch) | |
tree | d757524ad81281a08c95828e51134121f63b3287 /crypto/evp/pmeth_lib.c | |
parent | e15320f652ef0d8eac29c8115a9c4bfd4376663b (diff) |
If EVP_PKEY structure contains an ENGINE the key is ENGINE specific and
we should use its method instead of any generic one.
Diffstat (limited to 'crypto/evp/pmeth_lib.c')
-rw-r--r-- | crypto/evp/pmeth_lib.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/crypto/evp/pmeth_lib.c b/crypto/evp/pmeth_lib.c index 29448c00ec..bc7c8305a0 100644 --- a/crypto/evp/pmeth_lib.c +++ b/crypto/evp/pmeth_lib.c @@ -135,6 +135,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) { |