Decode parameters properly.
authorDr. Stephen Henson <steve@openssl.org>
Tue, 6 Dec 2016 14:01:05 +0000 (14:01 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Sun, 8 Jan 2017 01:42:49 +0000 (01:42 +0000)
Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2177)

crypto/rsa/rsa_ameth.c

index 671719a3a4a959d463040f2cb793e14ef564e6e4..74ff65fcb6804acb556c58fc915135439ea14c9b 100644 (file)
@@ -24,6 +24,8 @@ static int rsa_cms_decrypt(CMS_RecipientInfo *ri);
 static int rsa_cms_encrypt(CMS_RecipientInfo *ri);
 #endif
 
+static RSA_PSS_PARAMS *rsa_pss_decode(const X509_ALGOR *alg);
+
 /* Set any parameters associated with pkey */
 static int rsa_param_encode(const EVP_PKEY *pkey,
                             ASN1_STRING **pstr, int *pstrtype)
@@ -64,7 +66,7 @@ static int rsa_param_decode(RSA *rsa, const X509_ALGOR *alg)
         return 1;
     if (algptype != V_ASN1_SEQUENCE)
         return 0;
-    rsa->pss = ASN1_item_unpack(algp, ASN1_ITEM_rptr(RSA_PSS_PARAMS));
+    rsa->pss = rsa_pss_decode(alg);
     if (rsa->pss == NULL)
         return 0;
     return 1;