diff options
author | Parménides GV <parmegv@sdf.org> | 2014-11-25 13:19:21 +0100 |
---|---|---|
committer | Parménides GV <parmegv@sdf.org> | 2014-11-25 13:19:21 +0100 |
commit | 576b0c26baf9b5b1418650a572604325ca7fb3af (patch) | |
tree | 8b2986d66ed4e6bdf5a3253c81f32cc5a8e53b99 /app/openssl/crypto/cms/cms_smime.c | |
parent | bbf877a099112acbf34589b01503c3f5ee135dc0 (diff) | |
parent | 48cd0f2fa3094b5a6b7b07d6413d77bdbc9bbc20 (diff) |
Merge branch 'develop'0.8.0
Diffstat (limited to 'app/openssl/crypto/cms/cms_smime.c')
-rw-r--r-- | app/openssl/crypto/cms/cms_smime.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/app/openssl/crypto/cms/cms_smime.c b/app/openssl/crypto/cms/cms_smime.c index 8c56e3a8..1af9f3a6 100644 --- a/app/openssl/crypto/cms/cms_smime.c +++ b/app/openssl/crypto/cms/cms_smime.c @@ -611,7 +611,7 @@ int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert) STACK_OF(CMS_RecipientInfo) *ris; CMS_RecipientInfo *ri; int i, r; - int debug = 0; + int debug = 0, ri_match = 0; ris = CMS_get0_RecipientInfos(cms); if (ris) debug = cms->d.envelopedData->encryptedContentInfo->debug; @@ -620,6 +620,7 @@ int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert) ri = sk_CMS_RecipientInfo_value(ris, i); if (CMS_RecipientInfo_type(ri) != CMS_RECIPINFO_TRANS) continue; + ri_match = 1; /* If we have a cert try matching RecipientInfo * otherwise try them all. */ @@ -655,7 +656,7 @@ int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert) } } /* If no cert and not debugging always return success */ - if (!cert && !debug) + if (ri_match && !cert && !debug) { ERR_clear_error(); return 1; |