xref: /freebsd/crypto/openssl/doc/man3/PKCS12_SAFEBAG_get1_cert.pod (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
1*b077aed3SPierre Pronchery=pod
2*b077aed3SPierre Pronchery
3*b077aed3SPierre Pronchery=head1 NAME
4*b077aed3SPierre Pronchery
5*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_attr, PKCS12_SAFEBAG_get0_type,
6*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get_nid, PKCS12_SAFEBAG_get_bag_nid,
7*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_bag_obj, PKCS12_SAFEBAG_get0_bag_type,
8*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get1_cert, PKCS12_SAFEBAG_get1_crl,
9*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_safes, PKCS12_SAFEBAG_get0_p8inf,
10*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_pkcs8 - Get objects from a PKCS#12 safeBag
11*b077aed3SPierre Pronchery
12*b077aed3SPierre Pronchery=head1 SYNOPSIS
13*b077aed3SPierre Pronchery
14*b077aed3SPierre Pronchery #include <openssl/pkcs12.h>
15*b077aed3SPierre Pronchery
16*b077aed3SPierre Pronchery const ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag,
17*b077aed3SPierre Pronchery                                           int attr_nid);
18*b077aed3SPierre Pronchery const ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag);
19*b077aed3SPierre Pronchery int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag);
20*b077aed3SPierre Pronchery int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag);
21*b077aed3SPierre Pronchery const ASN1_TYPE *PKCS12_SAFEBAG_get0_bag_obj(const PKCS12_SAFEBAG *bag);
22*b077aed3SPierre Pronchery const ASN1_OBJECT *PKCS12_SAFEBAG_get0_bag_type(const PKCS12_SAFEBAG *bag);
23*b077aed3SPierre Pronchery X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag);
24*b077aed3SPierre Pronchery X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag);
25*b077aed3SPierre Pronchery const STACK_OF(PKCS12_SAFEBAG) *PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag);
26*b077aed3SPierre Pronchery const PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag);
27*b077aed3SPierre Pronchery const X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag);
28*b077aed3SPierre Pronchery
29*b077aed3SPierre Pronchery=head1 DESCRIPTION
30*b077aed3SPierre Pronchery
31*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_attr() gets the attribute value corresponding to the B<attr_nid>.
32*b077aed3SPierre Pronchery
33*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_type() gets the B<safeBag> type as an OID, whereas
34*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get_nid() gets the B<safeBag> type as an NID, which could be
35*b077aed3SPierre ProncheryB<NID_certBag>, B<NID_crlBag>, B<NID_keyBag>, B<NID_secretBag>, B<NID_safeContentsBag>
36*b077aed3SPierre Proncheryor B<NID_pkcs8ShroudedKeyBag>.
37*b077aed3SPierre Pronchery
38*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get_bag_nid() gets the type of the object contained within the
39*b077aed3SPierre ProncheryB<PKCS12_SAFEBAG>. This corresponds to the bag type for most bags, but can be
40*b077aed3SPierre Proncheryarbitrary for B<secretBag>s. PKCS12_SAFEBAG_get0_bag_type() gets this type as an OID.
41*b077aed3SPierre Pronchery
42*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_bag_obj() retrieves the object contained within the safeBag.
43*b077aed3SPierre Pronchery
44*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get1_cert() and PKCS12_SAFEBAG_get1_crl() return new B<X509> or
45*b077aed3SPierre ProncheryB<X509_CRL> objects from the item in the safeBag.
46*b077aed3SPierre Pronchery
47*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_p8inf() and PKCS12_SAFEBAG_get0_pkcs8() return the PKCS8 object
48*b077aed3SPierre Proncheryfrom a PKCS8shroudedKeyBag or a keyBag.
49*b077aed3SPierre Pronchery
50*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get0_safes() retrieves the set of B<safeBags> contained within a
51*b077aed3SPierre ProncherysafeContentsBag.
52*b077aed3SPierre Pronchery
53*b077aed3SPierre Pronchery=head1 RETURN VALUES
54*b077aed3SPierre Pronchery
55*b077aed3SPierre ProncheryPKCS12_SAFEBAG_get_nid() and PKCS12_SAFEBAG_get_bag_nid() return the NID of the safeBag
56*b077aed3SPierre Proncheryor bag object, or -1 if there is no corresponding NID.
57*b077aed3SPierre ProncheryOther functions return a valid object of the specified type or NULL if an error occurred.
58*b077aed3SPierre Pronchery
59*b077aed3SPierre Pronchery=head1 SEE ALSO
60*b077aed3SPierre Pronchery
61*b077aed3SPierre ProncheryL<PKCS12_create(3)>,
62*b077aed3SPierre ProncheryL<PKCS12_add_safe(3)>,
63*b077aed3SPierre ProncheryL<PKCS12_add_safes(3)>
64*b077aed3SPierre Pronchery
65*b077aed3SPierre Pronchery=head1 COPYRIGHT
66*b077aed3SPierre Pronchery
67*b077aed3SPierre ProncheryCopyright 2019-2021 The OpenSSL Project Authors. All Rights Reserved.
68*b077aed3SPierre Pronchery
69*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
70*b077aed3SPierre Proncherythis file except in compliance with the License.  You can obtain a copy
71*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at
72*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>.
73*b077aed3SPierre Pronchery
74*b077aed3SPierre Pronchery=cut
75