PR: 2742
Reported by: Dmitry Belyavsky <beldmit@gmail.com> If resigning with detached content in CMS just copy data across.
This commit is contained in:
parent
33a688e806
commit
a8595879ec
@ -377,8 +377,12 @@ static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,
|
|||||||
BIO *tmpbio;
|
BIO *tmpbio;
|
||||||
const ASN1_AUX *aux = it->funcs;
|
const ASN1_AUX *aux = it->funcs;
|
||||||
ASN1_STREAM_ARG sarg;
|
ASN1_STREAM_ARG sarg;
|
||||||
|
int rv = 1;
|
||||||
|
|
||||||
if (!(flags & SMIME_DETACHED))
|
/* If data is not deteched or resigning then the output BIO is
|
||||||
|
* already set up to finalise when it is written through.
|
||||||
|
*/
|
||||||
|
if (!(flags & SMIME_DETACHED) || (flags & PKCS7_REUSE_DIGEST))
|
||||||
{
|
{
|
||||||
SMIME_crlf_copy(data, out, flags);
|
SMIME_crlf_copy(data, out, flags);
|
||||||
return 1;
|
return 1;
|
||||||
@ -405,7 +409,7 @@ static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,
|
|||||||
|
|
||||||
/* Finalize structure */
|
/* Finalize structure */
|
||||||
if (aux->asn1_cb(ASN1_OP_DETACHED_POST, &val, it, &sarg) <= 0)
|
if (aux->asn1_cb(ASN1_OP_DETACHED_POST, &val, it, &sarg) <= 0)
|
||||||
return 0;
|
rv = 0;
|
||||||
|
|
||||||
/* Now remove any digests prepended to the BIO */
|
/* Now remove any digests prepended to the BIO */
|
||||||
|
|
||||||
@ -416,7 +420,7 @@ static int asn1_output_data(BIO *out, BIO *data, ASN1_VALUE *val, int flags,
|
|||||||
sarg.ndef_bio = tmpbio;
|
sarg.ndef_bio = tmpbio;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return rv;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user