Hi, I have a few questions about the usage of the PKCS7 functions in OpenSSL.
My code works: it creates a PKCS7 SignedAndEnveloped. I get the idea from the enc.c and dec.c files in crypto/pkcs7 directory. Before my code worked i wrote another code that seemed to be ok but didn't work. Let me explain, PKCS7 standard says that a SignerInfo is needed to create the PKCS7 so i called the next functions: X509 *cert = ... EVP_PKEY *pkey = ... PKCS7_SIGNER_INFO* signer = PKCS7_SIGNER_INFO_new(); PKCS7_SIGNER_INFO_set(signer, cert, pkey, EVP_sha1()); PKCS7_add_signer(p7, signer); PKCS7_add_recipient(p7, rec_cert); PKCS7_dataFinal(p7, bio); This seemed to be the most reasonable way to do it but it didn't work. The code i have now (the one that works) is: PKCS7_add_signature(p7, cert, pkey, EVP_sha1()); PKCS7_add_certificate(p7, cert); PKCS7_add_recipient(p7, rec_cert); PKCS7_dataFinal(p7, bio); Can anyone explain what are those PKCS7_add_signature and PKCS7_add_certificate calls? Do they set a PKCS_SignerInfo automatically? I do not really understand why my initial code didn't work. Any help would be really appreciated. Regards, Aleix ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]