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.