PKCS12_SAFEBAG_get1_cert.3ossl - Man Page

Get objects from a PKCS#12 safeBag

Synopsis

 #include <openssl/pkcs12.h>

 const ASN1_TYPE *PKCS12_SAFEBAG_get0_attr(const PKCS12_SAFEBAG *bag,
                                           int attr_nid);
 const ASN1_OBJECT *PKCS12_SAFEBAG_get0_type(const PKCS12_SAFEBAG *bag);
 int PKCS12_SAFEBAG_get_nid(const PKCS12_SAFEBAG *bag);
 int PKCS12_SAFEBAG_get_bag_nid(const PKCS12_SAFEBAG *bag);
 const ASN1_TYPE *PKCS12_SAFEBAG_get0_bag_obj(const PKCS12_SAFEBAG *bag);
 const ASN1_OBJECT *PKCS12_SAFEBAG_get0_bag_type(const PKCS12_SAFEBAG *bag);
 X509_CRL *PKCS12_SAFEBAG_get1_cert_ex(const PKCS12_SAFEBAG *bag,
                                       OSSL_LIB_CTX *libctx, const char *propq);
 X509 *PKCS12_SAFEBAG_get1_cert(const PKCS12_SAFEBAG *bag);
 X509_CRL *PKCS12_SAFEBAG_get1_crl_ex(const PKCS12_SAFEBAG *bag,
                                      OSSL_LIB_CTX *libctx, const char *propq);
 X509_CRL *PKCS12_SAFEBAG_get1_crl(const PKCS12_SAFEBAG *bag);
 const STACK_OF(PKCS12_SAFEBAG) *PKCS12_SAFEBAG_get0_safes(const PKCS12_SAFEBAG *bag);
 const PKCS8_PRIV_KEY_INFO *PKCS12_SAFEBAG_get0_p8inf(const PKCS12_SAFEBAG *bag);
 const X509_SIG *PKCS12_SAFEBAG_get0_pkcs8(const PKCS12_SAFEBAG *bag);

Description

PKCS12_SAFEBAG_get0_attr() gets the attribute value corresponding to the attr_nid.

PKCS12_SAFEBAG_get0_type() gets the safeBag type as an OID, whereas PKCS12_SAFEBAG_get_nid() gets the safeBag type as an NID, which could be NID_certBag, NID_crlBag, NID_keyBag, NID_secretBag, NID_safeContentsBag or NID_pkcs8ShroudedKeyBag.

PKCS12_SAFEBAG_get_bag_nid() gets the type of the object contained within the PKCS12_SAFEBAG. This corresponds to the bag type for most bags, but can be arbitrary for secretBags. PKCS12_SAFEBAG_get0_bag_type() gets this type as an OID.

PKCS12_SAFEBAG_get0_bag_obj() retrieves the object contained within the safeBag.

PKCS12_SAFEBAG_get1_cert_ex() and PKCS12_SAFEBAG_get1_crl_ex() return new X509 or X509_CRL objects from the item in the safeBag. libctx and propq are used when fetching algorithms, and may optionally be set to NULL.

PKCS12_SAFEBAG_get1_cert() and PKCS12_SAFEBAG_get1_crl() are the same as PKCS12_SAFEBAG_get1_cert_ex() and PKCS12_SAFEBAG_get1_crl_ex() and set the libctx and prop to NULL. This will use the default library context.

PKCS12_SAFEBAG_get0_p8inf() and PKCS12_SAFEBAG_get0_pkcs8() return the PKCS8 object from a PKCS8shroudedKeyBag or a keyBag.

PKCS12_SAFEBAG_get0_safes() retrieves the set of safeBags contained within a safeContentsBag.

Return Values

PKCS12_SAFEBAG_get_nid() and PKCS12_SAFEBAG_get_bag_nid() return the NID of the safeBag or bag object, or -1 if there is no corresponding NID. Other functions return a valid object of the specified type or NULL if an error occurred.

See Also

PKCS12_create(3), PKCS12_add_safe(3), PKCS12_add_safes(3)

History

The functions PKCS12_SAFEBAG_get1_cert_ex() and PKCS12_SAFEBAG_get1_crl_ex() were added in OpenSSL 3.2.

Referenced By

The man pages PKCS12_SAFEBAG_get0_attr.3ossl(3), PKCS12_SAFEBAG_get0_bag_obj.3ossl(3), PKCS12_SAFEBAG_get0_bag_type.3ossl(3), PKCS12_SAFEBAG_get0_p8inf.3ossl(3), PKCS12_SAFEBAG_get0_pkcs8.3ossl(3), PKCS12_SAFEBAG_get0_safes.3ossl(3), PKCS12_SAFEBAG_get0_type.3ossl(3), PKCS12_SAFEBAG_get1_cert_ex.3ossl(3), PKCS12_SAFEBAG_get1_crl.3ossl(3), PKCS12_SAFEBAG_get1_crl_ex.3ossl(3), PKCS12_SAFEBAG_get_bag_nid.3ossl(3) and PKCS12_SAFEBAG_get_nid.3ossl(3) are aliases of PKCS12_SAFEBAG_get1_cert.3ossl(3).

2024-04-04 3.2.1 OpenSSL