diff options
Diffstat (limited to 'openssl/trunk/crypto/pkcs7/pk7_smime.c')
-rw-r--r-- | openssl/trunk/crypto/pkcs7/pk7_smime.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/openssl/trunk/crypto/pkcs7/pk7_smime.c b/openssl/trunk/crypto/pkcs7/pk7_smime.c index 1f4a0a17..dc835e5b 100644 --- a/openssl/trunk/crypto/pkcs7/pk7_smime.c +++ b/openssl/trunk/crypto/pkcs7/pk7_smime.c @@ -127,9 +127,12 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, } } + if(flags & PKCS7_DETACHED)PKCS7_set_detached(p7, 1); + if (flags & PKCS7_STREAM) return p7; + if (!(p7bio = PKCS7_dataInit(p7, NULL))) { PKCS7err(PKCS7_F_PKCS7_SIGN,ERR_R_MALLOC_FAILURE); PKCS7_free(p7); @@ -138,7 +141,6 @@ PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, SMIME_crlf_copy(data, p7bio, flags); - if(flags & PKCS7_DETACHED)PKCS7_set_detached(p7, 1); if (!PKCS7_dataFinal(p7,p7bio)) { PKCS7err(PKCS7_F_PKCS7_SIGN,PKCS7_R_PKCS7_DATASIGN); |