int PKCS7_set_content_type(PKCS7 *p7, int type);
Call to set the type of PKCS7 object we are working on

int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey,
	EVP_MD *dgst);
Use this to setup a signer info
There will also be functions to add signed and unsigned attributes.

int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i);
Add a signer info to the content.

int PKCS7_add_certificae(PKCS7 *p7, X509 *x509);
int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509);

----

p7=PKCS7_new();
PKCS7_set_content_type(p7,NID_pkcs7_signed);

signer=PKCS7_SINGNER_INFO_new();
PKCS7_SIGNER_INFO_set(signer,x509,pkey,EVP_md5());
PKCS7_add_signer(py,signer);

we are now setup.
