Lines Matching refs:p7

20 long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg)  in PKCS7_ctrl()  argument
25 nid = OBJ_obj2nid(p7->type); in PKCS7_ctrl()
31 ret = p7->detached = (int)larg; in PKCS7_ctrl()
32 if (ret && PKCS7_type_is_data(p7->d.sign->contents)) { in PKCS7_ctrl()
34 os = p7->d.sign->contents->d.data; in PKCS7_ctrl()
36 p7->d.sign->contents->d.data = NULL; in PKCS7_ctrl()
46 if (p7->d.sign == NULL || p7->d.sign->contents->d.ptr == NULL) in PKCS7_ctrl()
51 p7->detached = ret; in PKCS7_ctrl()
66 int PKCS7_content_new(PKCS7 *p7, int type) in PKCS7_content_new() argument
74 if (!PKCS7_set_content(p7, ret)) in PKCS7_content_new()
83 int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data) in PKCS7_set_content() argument
87 i = OBJ_obj2nid(p7->type); in PKCS7_set_content()
90 PKCS7_free(p7->d.sign->contents); in PKCS7_set_content()
91 p7->d.sign->contents = p7_data; in PKCS7_set_content()
94 PKCS7_free(p7->d.digest->contents); in PKCS7_set_content()
95 p7->d.digest->contents = p7_data; in PKCS7_set_content()
110 int PKCS7_set_type(PKCS7 *p7, int type) in PKCS7_set_type() argument
121 p7->type = obj; in PKCS7_set_type()
122 if ((p7->d.sign = PKCS7_SIGNED_new()) == NULL) in PKCS7_set_type()
124 if (!ASN1_INTEGER_set(p7->d.sign->version, 1)) { in PKCS7_set_type()
125 PKCS7_SIGNED_free(p7->d.sign); in PKCS7_set_type()
126 p7->d.sign = NULL; in PKCS7_set_type()
131 p7->type = obj; in PKCS7_set_type()
132 if ((p7->d.data = ASN1_OCTET_STRING_new()) == NULL) in PKCS7_set_type()
136 p7->type = obj; in PKCS7_set_type()
137 if ((p7->d.signed_and_enveloped = PKCS7_SIGN_ENVELOPE_new()) in PKCS7_set_type()
140 if (!ASN1_INTEGER_set(p7->d.signed_and_enveloped->version, 1)) in PKCS7_set_type()
142 p7->d.signed_and_enveloped->enc_data->content_type in PKCS7_set_type()
146 p7->type = obj; in PKCS7_set_type()
147 if ((p7->d.enveloped = PKCS7_ENVELOPE_new()) in PKCS7_set_type()
150 if (!ASN1_INTEGER_set(p7->d.enveloped->version, 0)) in PKCS7_set_type()
152 p7->d.enveloped->enc_data->content_type = OBJ_nid2obj(NID_pkcs7_data); in PKCS7_set_type()
155 p7->type = obj; in PKCS7_set_type()
156 if ((p7->d.encrypted = PKCS7_ENCRYPT_new()) in PKCS7_set_type()
159 if (!ASN1_INTEGER_set(p7->d.encrypted->version, 0)) in PKCS7_set_type()
161 p7->d.encrypted->enc_data->content_type = OBJ_nid2obj(NID_pkcs7_data); in PKCS7_set_type()
165 p7->type = obj; in PKCS7_set_type()
166 if ((p7->d.digest = PKCS7_DIGEST_new()) in PKCS7_set_type()
169 if (!ASN1_INTEGER_set(p7->d.digest->version, 0)) in PKCS7_set_type()
181 int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other) in PKCS7_set0_type_other() argument
183 p7->type = OBJ_nid2obj(type); in PKCS7_set0_type_other()
184 p7->d.other = other; in PKCS7_set0_type_other()
188 int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *psi) in PKCS7_add_signer() argument
196 i = OBJ_obj2nid(p7->type); in PKCS7_add_signer()
199 signer_sk = p7->d.sign->signer_info; in PKCS7_add_signer()
200 md_sk = p7->d.sign->md_algs; in PKCS7_add_signer()
203 signer_sk = p7->d.signed_and_enveloped->signer_info; in PKCS7_add_signer()
204 md_sk = p7->d.signed_and_enveloped->md_algs; in PKCS7_add_signer()
245 psi->ctx = ossl_pkcs7_get0_ctx(p7); in PKCS7_add_signer()
251 int PKCS7_add_certificate(PKCS7 *p7, X509 *x509) in PKCS7_add_certificate() argument
256 i = OBJ_obj2nid(p7->type); in PKCS7_add_certificate()
259 sk = &(p7->d.sign->cert); in PKCS7_add_certificate()
262 sk = &(p7->d.signed_and_enveloped->cert); in PKCS7_add_certificate()
272 int PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl) in PKCS7_add_crl() argument
277 i = OBJ_obj2nid(p7->type); in PKCS7_add_crl()
280 sk = &(p7->d.sign->crl); in PKCS7_add_crl()
283 sk = &(p7->d.signed_and_enveloped->crl); in PKCS7_add_crl()
387 PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, EVP_PKEY *pkey, in PKCS7_add_signature() argument
407 if (!PKCS7_add_signer(p7, si)) in PKCS7_add_signature()
415 static STACK_OF(X509) *pkcs7_get_signer_certs(const PKCS7 *p7) in STACK_OF()
417 if (PKCS7_type_is_signed(p7)) in STACK_OF()
418 return p7->d.sign->cert; in STACK_OF()
419 if (PKCS7_type_is_signedAndEnveloped(p7)) in STACK_OF()
420 return p7->d.signed_and_enveloped->cert; in STACK_OF()
424 static STACK_OF(PKCS7_RECIP_INFO) *pkcs7_get_recipient_info(const PKCS7 *p7) in STACK_OF()
426 if (PKCS7_type_is_signedAndEnveloped(p7)) in STACK_OF()
427 return p7->d.signed_and_enveloped->recipientinfo; in STACK_OF()
428 if (PKCS7_type_is_enveloped(p7)) in STACK_OF()
429 return p7->d.enveloped->recipientinfo; in STACK_OF()
437 void ossl_pkcs7_resolve_libctx(PKCS7 *p7) in ossl_pkcs7_resolve_libctx() argument
440 const PKCS7_CTX *ctx = ossl_pkcs7_get0_ctx(p7); in ossl_pkcs7_resolve_libctx()
443 STACK_OF(PKCS7_RECIP_INFO) *rinfos = pkcs7_get_recipient_info(p7); in ossl_pkcs7_resolve_libctx()
444 STACK_OF(PKCS7_SIGNER_INFO) *sinfos = PKCS7_get_signer_info(p7); in ossl_pkcs7_resolve_libctx()
445 STACK_OF(X509) *certs = pkcs7_get_signer_certs(p7); in ossl_pkcs7_resolve_libctx()
467 const PKCS7_CTX *ossl_pkcs7_get0_ctx(const PKCS7 *p7) in ossl_pkcs7_get0_ctx() argument
469 return p7 != NULL ? &p7->ctx : NULL; in ossl_pkcs7_get0_ctx()
472 void ossl_pkcs7_set0_libctx(PKCS7 *p7, OSSL_LIB_CTX *ctx) in ossl_pkcs7_set0_libctx() argument
474 p7->ctx.libctx = ctx; in ossl_pkcs7_set0_libctx()
477 int ossl_pkcs7_set1_propq(PKCS7 *p7, const char *propq) in ossl_pkcs7_set1_propq() argument
479 if (p7->ctx.propq != NULL) { in ossl_pkcs7_set1_propq()
480 OPENSSL_free(p7->ctx.propq); in ossl_pkcs7_set1_propq()
481 p7->ctx.propq = NULL; in ossl_pkcs7_set1_propq()
484 p7->ctx.propq = OPENSSL_strdup(propq); in ossl_pkcs7_set1_propq()
485 if (p7->ctx.propq == NULL) { in ossl_pkcs7_set1_propq()
512 int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md) in PKCS7_set_digest() argument
514 if (PKCS7_type_is_digest(p7)) { in PKCS7_set_digest()
515 if ((p7->d.digest->md->parameter = ASN1_TYPE_new()) == NULL) { in PKCS7_set_digest()
519 p7->d.digest->md->parameter->type = V_ASN1_NULL; in PKCS7_set_digest()
520 p7->d.digest->md->algorithm = OBJ_nid2obj(EVP_MD_nid(md)); in PKCS7_set_digest()
528 STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7) in STACK_OF()
530 if (p7 == NULL || p7->d.ptr == NULL) in STACK_OF()
532 if (PKCS7_type_is_signed(p7)) { in STACK_OF()
533 return p7->d.sign->signer_info; in STACK_OF()
534 } else if (PKCS7_type_is_signedAndEnveloped(p7)) { in STACK_OF()
535 return p7->d.signed_and_enveloped->signer_info; in STACK_OF()
557 PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509) in PKCS7_add_recipient() argument
565 if (!PKCS7_add_recipient_info(p7, ri)) in PKCS7_add_recipient()
567 ri->ctx = ossl_pkcs7_get0_ctx(p7); in PKCS7_add_recipient()
574 int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri) in PKCS7_add_recipient_info() argument
579 i = OBJ_obj2nid(p7->type); in PKCS7_add_recipient_info()
582 sk = p7->d.signed_and_enveloped->recipientinfo; in PKCS7_add_recipient_info()
585 sk = p7->d.enveloped->recipientinfo; in PKCS7_add_recipient_info()
662 X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si) in PKCS7_cert_from_signer_info() argument
664 if (PKCS7_type_is_signed(p7)) in PKCS7_cert_from_signer_info()
665 return (X509_find_by_issuer_and_serial(p7->d.sign->cert, in PKCS7_cert_from_signer_info()
673 int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher) in PKCS7_set_cipher() argument
678 i = OBJ_obj2nid(p7->type); in PKCS7_set_cipher()
681 ec = p7->d.signed_and_enveloped->enc_data; in PKCS7_set_cipher()
684 ec = p7->d.enveloped->enc_data; in PKCS7_set_cipher()
699 ec->ctx = ossl_pkcs7_get0_ctx(p7); in PKCS7_set_cipher()
704 int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7) in PKCS7_stream() argument
708 switch (OBJ_obj2nid(p7->type)) { in PKCS7_stream()
710 os = p7->d.data; in PKCS7_stream()
714 os = p7->d.signed_and_enveloped->enc_data->enc_data; in PKCS7_stream()
717 p7->d.signed_and_enveloped->enc_data->enc_data = os; in PKCS7_stream()
722 os = p7->d.enveloped->enc_data->enc_data; in PKCS7_stream()
725 p7->d.enveloped->enc_data->enc_data = os; in PKCS7_stream()
730 os = p7->d.sign->contents->d.data; in PKCS7_stream()