diff --git a/crypto/pkcs7/pk7_smime.c b/crypto/pkcs7/pk7_smime.c index 64a3cc476362356e0c10ced32a4389ae4c969c66..39b18a4a46fcf6099dc1820f01746f3be7ef09e0 100644 --- a/crypto/pkcs7/pk7_smime.c +++ b/crypto/pkcs7/pk7_smime.c @@ -216,7 +216,8 @@ PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, X509 *signcert, { if (!pkcs7_copy_existing_digest(p7, si)) goto err; - if (!PKCS7_SIGNER_INFO_sign(si)) + if (!(flags & PKCS7_PARTIAL) && + !PKCS7_SIGNER_INFO_sign(si)) goto err; } }