Commit 41b920ef authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Return correct enveloped data type in ASN1 methods.

For RSA and DSA keys return an appropriate RecipientInfo type. By setting
CMS_RECIPINFO_NONE for DSA keys an appropriate error is returned if
an attempt is made to use DSA with enveloped data.
parent 88e20b85
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -631,6 +631,10 @@ static int dsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
			X509_ALGOR_set0(alg2, OBJ_nid2obj(snid), V_ASN1_UNDEF, 0);
			}
		return 1;

		case ASN1_PKEY_CTRL_CMS_RI_TYPE:
		*(int *)arg2 = CMS_RECIPINFO_NONE;
		return 1;
#endif

		case ASN1_PKEY_CTRL_DEFAULT_MD_NID:
+4 −0
Original line number Diff line number Diff line
@@ -448,6 +448,10 @@ static int rsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
		else if (arg1 == 1)
			return rsa_cms_decrypt(arg2);
		break;

		case ASN1_PKEY_CTRL_CMS_RI_TYPE:
		*(int *)arg2 = CMS_RECIPINFO_TRANS;
		return 1;
#endif

		case ASN1_PKEY_CTRL_DEFAULT_MD_NID: