From: Dr. Stephen Henson <steve@openssl.org>
Date: Tue, 6 Dec 2016 14:19:41 +0000 (+0000)
Subject: Set EVP_PKEY_CTX in SignerInfo
X-Git-Tag: OpenSSL_1_1_1-pre1~2764
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f7a21d85b6851bdbdc8db1397285d4c63b2c40be;p=openssl

Set EVP_PKEY_CTX in SignerInfo

If we aren't setting public key parameters make EVP_PKEY_CTX available
in SignerInfo so PSS mode and parameters are automatically selected.

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2177)
---

diff --git a/crypto/cms/cms_sd.c b/crypto/cms/cms_sd.c
index 76c1f53b56..a31e8495ca 100644
--- a/crypto/cms/cms_sd.c
+++ b/crypto/cms/cms_sd.c
@@ -656,6 +656,7 @@ int CMS_SignerInfo_sign(CMS_SignerInfo *si)
         EVP_MD_CTX_reset(mctx);
         if (EVP_DigestSignInit(mctx, &pctx, md, NULL, si->pkey) <= 0)
             goto err;
+        si->pctx = pctx;
     }
 
     if (EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_SIGN,