PKCS12_add_safe.3ossl - Man Page

Create and add objects to a PKCS#12 structure

Synopsis

 #include <openssl/pkcs12.h>

 int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags,
                    int safe_nid, int iter, const char *pass);
 int PKCS12_add_safe_ex(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags,
                        int safe_nid, int iter, const char *pass,
                        OSSL_LIB_CTX *ctx, const char *propq);

 PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid);
 PKCS12 *PKCS12_add_safes_ex(STACK_OF(PKCS7) *safes, int p7_nid,
                             OSSL_LIB_CTX *ctx, const char *propq);

Description

PKCS12_add_safe() creates a new PKCS7 contentInfo containing the supplied PKCS12_SAFEBAGs and adds this to a set of PKCS7 contentInfos. Its type depends on the value of safe_nid:

PKCS12_add_safe_ex() is identical to PKCS12_add_safe() but allows for a library context ctx and property query propq to be used to select algorithm implementations.

PKCS12_add_safes() creates a PKCS12 structure containing the supplied set of PKCS7 contentInfos. The safes are enclosed first within a PKCS7 contentInfo of type p7_nid. Currently the only supported type is NID_pkcs7_data.

PKCS12_add_safes_ex() is identical to PKCS12_add_safes() but allows for a library context ctx and property query propq to be used to select algorithm implementations.

Notes

PKCS12_add_safe() makes assumptions regarding the encoding of the given pass phrase. See passphrase-encoding(7) for more information.

Return Values

PKCS12_add_safe() returns a value of 1 indicating success or 0 for failure.

PKCS12_add_safes() returns a valid PKCS12 structure or NULL if an error occurred.

Conforming to

IETF RFC 7292 (<https://tools.ietf.org/html/rfc7292>)

See Also

PKCS12_create(3)

History

PKCS12_add_safe_ex() and PKCS12_add_safes_ex() were added in OpenSSL 3.0.

Referenced By

ossl-guide-migration.7ossl(7), PKCS12_SAFEBAG_create_cert.3ossl(3), PKCS12_SAFEBAG_get1_cert.3ossl(3).

The man pages PKCS12_add_safe_ex.3ossl(3), PKCS12_add_safes.3ossl(3) and PKCS12_add_safes_ex.3ossl(3) are aliases of PKCS12_add_safe.3ossl(3).

2024-03-07 3.2.1 OpenSSL