5 PKCS12_SAFEBAG_create_cert, PKCS12_SAFEBAG_create_crl,
6 PKCS12_SAFEBAG_create_secret, PKCS12_SAFEBAG_create0_p8inf,
7 PKCS12_SAFEBAG_create0_pkcs8, PKCS12_SAFEBAG_create_pkcs8_encrypt - Create
8 PKCS#12 safeBag objects
12 #include <openssl/pkcs12.h>
14 PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_cert(X509 *x509);
15 PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_crl(X509_CRL *crl);
16 PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_secret(int type, int vtype,
17 const unsigned char* value,
19 PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_p8inf(PKCS8_PRIV_KEY_INFO *p8);
20 PKCS12_SAFEBAG *PKCS12_SAFEBAG_create0_pkcs8(X509_SIG *p8);
21 PKCS12_SAFEBAG *PKCS12_SAFEBAG_create_pkcs8_encrypt(int pbe_nid,
25 int saltlen, int iter,
26 PKCS8_PRIV_KEY_INFO *p8inf);
30 PKCS12_SAFEBAG_create_cert() creates a new B<PKCS12_SAFEBAG> of type B<NID_certBag>
31 containing the supplied certificate.
33 PKCS12_SAFEBAG_create_crl() creates a new B<PKCS12_SAFEBAG> of type B<NID_crlBag>
34 containing the supplied crl.
36 PKCS12_SAFEBAG_create_secret() creates a new B<PKCS12_SAFEBAG> of type
37 corresponding to a PKCS#12 I<secretBag>. The I<secretBag> contents are tagged as
38 I<type> with an ASN1 value of type I<vtype> constructed using the bytes in
39 I<value> of length I<len>.
41 PKCS12_SAFEBAG_create0_p8inf() creates a new B<PKCS12_SAFEBAG> of type B<NID_keyBag>
42 containing the supplied PKCS8 structure.
44 PKCS12_SAFEBAG_create0_pkcs8() creates a new B<PKCS12_SAFEBAG> of type
45 B<NID_pkcs8ShroudedKeyBag> containing the supplied PKCS8 structure.
47 PKCS12_SAFEBAG_create_pkcs8_encrypt() creates a new B<PKCS12_SAFEBAG> of type
48 B<NID_pkcs8ShroudedKeyBag> by encrypting the supplied PKCS8 I<p8inf>.
49 If I<pbe_nid> is 0, a default encryption algorithm is used. I<pass> is the
50 passphrase and I<iter> is the iteration count. If I<iter> is zero then a default
51 value of 2048 is used. If I<salt> is NULL then a salt is generated randomly.
55 PKCS12_SAFEBAG_create_pkcs8_encrypt() makes assumptions regarding the encoding of the given pass
57 See L<passphrase-encoding(7)> for more information.
59 PKCS12_SAFEBAG_create_secret() was added in OpenSSL 3.0.
63 All of these functions return a valid B<PKCS12_SAFEBAG> structure or NULL if an error occurred.
68 L<PKCS12_add_safe(3)>,
69 L<PKCS12_add_safes(3)>
73 Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
75 Licensed under the Apache License 2.0 (the "License"). You may not use
76 this file except in compliance with the License. You can obtain a copy
77 in the file LICENSE in the source distribution or at
78 L<https://www.openssl.org/source/license.html>.