PKCS12_add_safe3ssl
Create and add objects to a pkcs#12 structure
Usage
#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);
Overview
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:
- •
-
If safe_nid is -1, a plain PKCS7 data contentInfo is created.
- •
-
If safe_nid is a valid PBE algorithm NID, a PKCS7
encryptedDatacontentInfo is created. The algorithm uses pass as the passphrase and iter as the iteration count. If iter is zero then a default value for iteration count of 2048 is used.
- •
-
If safe_nid is 0, a PKCS7
encryptedDatacontentInfo is created using a default encryption algorithm, currentlyNID_pbe_WithSHA1And3_Key_TripleDES_CBC.
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.
Releases
3 releases since Debian 12 (Bookworm); the text changed 2 times.