Rename OSSL_SERIALIZER / OSSL_DESERIALIZER to OSSL_ENCODE / OSSL_DECODE
[openssl.git] / doc / man3 / PKCS12_SAFEBAG_create_cert.pod
1 =pod
2
3 =head1 NAME
4
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
9
10 =head1 SYNOPSIS
11
12  #include <openssl/pkcs12.h>
13
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,
18                                               int len);
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,
22                                                      const char *pass,
23                                                      int passlen,
24                                                      unsigned char *salt,
25                                                      int saltlen, int iter,
26                                                      PKCS8_PRIV_KEY_INFO *p8inf);
27
28 =head1 DESCRIPTION
29
30 PKCS12_SAFEBAG_create_cert() creates a new B<PKCS12_SAFEBAG> of type B<NID_certBag>
31 containing the supplied certificate.
32
33 PKCS12_SAFEBAG_create_crl() creates a new B<PKCS12_SAFEBAG> of type B<NID_crlBag>
34 containing the supplied crl.
35
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>.
40
41 PKCS12_SAFEBAG_create0_p8inf() creates a new B<PKCS12_SAFEBAG> of type B<NID_keyBag>
42 containing the supplied PKCS8 structure.
43
44 PKCS12_SAFEBAG_create0_pkcs8() creates a new B<PKCS12_SAFEBAG> of type
45 B<NID_pkcs8ShroudedKeyBag> containing the supplied PKCS8 structure.
46
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.
52
53 =head1 NOTES
54
55 PKCS12_SAFEBAG_create_pkcs8_encrypt() makes assumptions regarding the encoding of the given pass
56 phrase.
57 See L<passphrase-encoding(7)> for more information.
58
59 PKCS12_SAFEBAG_create_secret() was added in OpenSSL 3.0.
60
61 =head1 RETURN VALUES
62
63 All of these functions return a valid B<PKCS12_SAFEBAG> structure or NULL if an error occurred.
64
65 =head1 SEE ALSO
66
67 L<PKCS12_create(3)>,
68 L<PKCS12_add_safe(3)>,
69 L<PKCS12_add_safes(3)>
70
71 =head1 COPYRIGHT
72
73 Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
74
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>.
79
80 =cut