update libressl to v2.7.4
[unleashed.git] / lib / libcrypto / man / PKCS12_new.3
blob29080b672f3a3afb5c23b3b33f632970eb5aad6a
1 .\"     $OpenBSD: PKCS12_new.3,v 1.3 2018/03/21 17:57:48 schwarze Exp $
2 .\"
3 .\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
4 .\"
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
8 .\"
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 .\"
17 .Dd $Mdocdate: March 21 2018 $
18 .Dt PKCS12_NEW 3
19 .Os
20 .Sh NAME
21 .Nm PKCS12_new ,
22 .Nm PKCS12_free ,
23 .Nm PKCS12_MAC_DATA_new ,
24 .Nm PKCS12_MAC_DATA_free
25 .Nd PKCS#12 personal information exchange (PFX)
26 .Sh SYNOPSIS
27 .In openssl/pkcs12.h
28 .Ft PKCS12 *
29 .Fn PKCS12_new void
30 .Ft void
31 .Fn PKCS12_free "PKCS12 *pfx"
32 .Ft PKCS12_MAC_DATA *
33 .Fn PKCS12_MAC_DATA_new void
34 .Ft void
35 .Fn PKCS12_MAC_DATA_free "PKCS12_MAC_DATA *mac_data"
36 .Sh DESCRIPTION
37 .Fn PKCS12_new
38 allocates and initializes an empty
39 .Vt PKCS12
40 object, representing an ASN.1
41 .Vt PFX
42 .Pq personal information exchange
43 structure defined in RFC 7292 section 4.
44 It can hold a pointer to a
45 .Vt PKCS7
46 object described in
47 .Xr PKCS7_new 3
48 and optionally an instance of
49 .Vt PKCS12_MAC_DATA
50 described below.
51 .Fn PKCS12_free
52 frees
53 .Fa pfx .
54 .Pp
55 .Fn PKCS12_MAC_DATA_new
56 allocates and initializes an empty
57 .Vt PKCS12_MAC_DATA
58 object, representing an ASN.1
59 .Vt MacData
60 structure defined in RFC 7292 section 4.
61 It is used inside
62 .Vt PKCS12
63 and can hold a pointer to an
64 .Vt X509_SIG
65 object described in
66 .Xr X509_SIG_new 3
67 together with a salt value and an iteration count.
68 .Fn PKCS12_MAC_DATA_free
69 frees
70 .Fa mac_data .
71 .Sh RETURN VALUES
72 .Fn PKCS12_new
73 and
74 .Fn PKCS12_MAC_DATA_new
75 return the new
76 .Vt PKCS12
78 .Vt PKCS12_MAC_DATA
79 object, respectively, or
80 .Dv NULL
81 if an error occurs.
82 .Sh SEE ALSO
83 .Xr d2i_PKCS12 3 ,
84 .Xr PKCS12_create 3 ,
85 .Xr PKCS12_newpass 3 ,
86 .Xr PKCS12_SAFEBAG_new 3 ,
87 .Xr PKCS7_new 3 ,
88 .Xr X509_SIG_new 3
89 .Sh STANDARDS
90 RFC 7292: PKCS #12: Personal Information Exchange Syntax
91 .Sh HISTORY
92 .Fn PKCS12_new ,
93 .Fn PKCS12_free ,
94 .Fn PKCS12_MAC_DATA_new ,
95 and
96 .Fn PKCS12_MAC_DATA_free
97 first appeared in OpenSSL 0.9.3 and have been available since
98 .Ox 2.6 .