xref: /openbsd/lib/libcrypto/man/PKCS12_new.3 (revision c4c55c71)
1.\"	$OpenBSD: PKCS12_new.3,v 1.4 2019/06/06 01:06:58 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: June 6 2019 $
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
38allocates and initializes an empty
39.Vt PKCS12
40object, representing an ASN.1
41.Vt PFX
42.Pq personal information exchange
43structure defined in RFC 7292 section 4.
44It can hold a pointer to a
45.Vt PKCS7
46object described in
47.Xr PKCS7_new 3
48and optionally an instance of
49.Vt PKCS12_MAC_DATA
50described below.
51.Fn PKCS12_free
52frees
53.Fa pfx .
54.Pp
55.Fn PKCS12_MAC_DATA_new
56allocates and initializes an empty
57.Vt PKCS12_MAC_DATA
58object, representing an ASN.1
59.Vt MacData
60structure defined in RFC 7292 section 4.
61It is used inside
62.Vt PKCS12
63and can hold a pointer to an
64.Vt X509_SIG
65object described in
66.Xr X509_SIG_new 3
67together with a salt value and an iteration count.
68.Fn PKCS12_MAC_DATA_free
69frees
70.Fa mac_data .
71.Sh RETURN VALUES
72.Fn PKCS12_new
73and
74.Fn PKCS12_MAC_DATA_new
75return the new
76.Vt PKCS12
77or
78.Vt PKCS12_MAC_DATA
79object, respectively, or
80.Dv NULL
81if 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_parse 3 ,
87.Xr PKCS12_SAFEBAG_new 3 ,
88.Xr PKCS7_new 3 ,
89.Xr X509_SIG_new 3
90.Sh STANDARDS
91RFC 7292: PKCS #12: Personal Information Exchange Syntax
92.Sh HISTORY
93.Fn PKCS12_new ,
94.Fn PKCS12_free ,
95.Fn PKCS12_MAC_DATA_new ,
96and
97.Fn PKCS12_MAC_DATA_free
98first appeared in OpenSSL 0.9.3 and have been available since
99.Ox 2.6 .
100