diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2008-03-15 00:02:23 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2008-03-15 00:02:23 +0000 |
commit | fd47c36136c7ac9b86f14c69b23a7d2df4fce132 (patch) | |
tree | 6f9ef61c5a2ed4e418dc427ce48cd506ba316c71 /crypto/cms | |
parent | d9f5f07e286bfc7a2a81756199a3e94444e0f6ce (diff) | |
download | openssl-fd47c36136c7ac9b86f14c69b23a7d2df4fce132.tar.gz |
Return error if no cipher set for encrypted data type.
Update CHANGES.
Diffstat (limited to 'crypto/cms')
-rw-r--r-- | crypto/cms/cms.h | 2 | ||||
-rw-r--r-- | crypto/cms/cms_err.c | 2 | ||||
-rw-r--r-- | crypto/cms/cms_smime.c | 5 |
3 files changed, 9 insertions, 0 deletions
diff --git a/crypto/cms/cms.h b/crypto/cms/cms.h index f10a5817b4..c9801cf293 100644 --- a/crypto/cms/cms.h +++ b/crypto/cms/cms.h @@ -273,6 +273,7 @@ void ERR_load_CMS_strings(void); #define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 148 #define CMS_F_CMS_ENCRYPTEDCONTENT_TO_BIO 138 #define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 140 +#define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 149 #define CMS_F_CMS_ENCRYPTEDDATA_INIT_BIO 147 #define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 141 #define CMS_F_CMS_ENCRYPTED_DATA_DECRYPT 139 @@ -322,6 +323,7 @@ void ERR_load_CMS_strings(void); #define CMS_R_NOT_ENCRYPTED_DATA 143 #define CMS_R_NOT_KEY_TRANSPORT 114 #define CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 115 +#define CMS_R_NO_CIPHER 144 #define CMS_R_NO_CONTENT 116 #define CMS_R_NO_DEFAULT_DIGEST 117 #define CMS_R_NO_DIGEST_SET 118 diff --git a/crypto/cms/cms_err.c b/crypto/cms/cms_err.c index 96748033e1..0d142681b4 100644 --- a/crypto/cms/cms_err.c +++ b/crypto/cms/cms_err.c @@ -94,6 +94,7 @@ static ERR_STRING_DATA CMS_str_functs[]= {ERR_FUNC(CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO), "CMS_ENCRYPTEDCONTENT_INIT_BIO"}, {ERR_FUNC(CMS_F_CMS_ENCRYPTEDCONTENT_TO_BIO), "CMS_ENCRYPTEDCONTENT_TO_BIO"}, {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_DECRYPT), "CMS_EncryptedData_decrypt"}, +{ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT), "CMS_EncryptedData_encrypt"}, {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_INIT_BIO), "CMS_ENCRYPTEDDATA_INIT_BIO"}, {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY), "CMS_EncryptedData_set1_key"}, {ERR_FUNC(CMS_F_CMS_ENCRYPTED_DATA_DECRYPT), "CMS_ENCRYPTED_DATA_DECRYPT"}, @@ -146,6 +147,7 @@ static ERR_STRING_DATA CMS_str_reasons[]= {ERR_REASON(CMS_R_NOT_ENCRYPTED_DATA) ,"not encrypted data"}, {ERR_REASON(CMS_R_NOT_KEY_TRANSPORT) ,"not key transport"}, {ERR_REASON(CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE),"not supported for this key type"}, +{ERR_REASON(CMS_R_NO_CIPHER) ,"no cipher"}, {ERR_REASON(CMS_R_NO_CONTENT) ,"no content"}, {ERR_REASON(CMS_R_NO_DEFAULT_DIGEST) ,"no default digest"}, {ERR_REASON(CMS_R_NO_DIGEST_SET) ,"no digest set"}, diff --git a/crypto/cms/cms_smime.c b/crypto/cms/cms_smime.c index 458efbece8..da0fac0a24 100644 --- a/crypto/cms/cms_smime.c +++ b/crypto/cms/cms_smime.c @@ -227,6 +227,11 @@ CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, unsigned int flags) { CMS_ContentInfo *cms; + if (!cipher) + { + CMSerr(CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT, CMS_R_NO_CIPHER); + return NULL; + } cms = CMS_ContentInfo_new(); if (!cms) return NULL; |