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