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.
This commit is contained in:
		@@ -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:
 | 
			
		||||
 
 | 
			
		||||
@@ -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:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user