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.