xref: /openbsd-src/lib/libcrypto/man/d2i_PKCS12.3 (revision c52b7c01056b116ea346be4151780044f0c7e491)
1*c52b7c01Sschwarze.\"	$OpenBSD: d2i_PKCS12.3,v 1.2 2018/03/21 17:57:48 schwarze Exp $
25893597fSschwarze.\"
35893597fSschwarze.\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
45893597fSschwarze.\"
55893597fSschwarze.\" Permission to use, copy, modify, and distribute this software for any
65893597fSschwarze.\" purpose with or without fee is hereby granted, provided that the above
75893597fSschwarze.\" copyright notice and this permission notice appear in all copies.
85893597fSschwarze.\"
95893597fSschwarze.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
105893597fSschwarze.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
115893597fSschwarze.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
125893597fSschwarze.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
135893597fSschwarze.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
145893597fSschwarze.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
155893597fSschwarze.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
165893597fSschwarze.\"
17*c52b7c01Sschwarze.Dd $Mdocdate: March 21 2018 $
185893597fSschwarze.Dt D2I_PKCS12 3
195893597fSschwarze.Os
205893597fSschwarze.Sh NAME
215893597fSschwarze.Nm d2i_PKCS12 ,
225893597fSschwarze.Nm i2d_PKCS12 ,
235893597fSschwarze.Nm d2i_PKCS12_bio ,
245893597fSschwarze.Nm i2d_PKCS12_bio ,
255893597fSschwarze.Nm d2i_PKCS12_fp ,
265893597fSschwarze.Nm i2d_PKCS12_fp ,
275893597fSschwarze.Nm d2i_PKCS12_MAC_DATA ,
285893597fSschwarze.Nm i2d_PKCS12_MAC_DATA ,
295893597fSschwarze.Nm d2i_PKCS12_SAFEBAG ,
305893597fSschwarze.Nm i2d_PKCS12_SAFEBAG ,
315893597fSschwarze.Nm d2i_PKCS12_BAGS ,
325893597fSschwarze.Nm i2d_PKCS12_BAGS
335893597fSschwarze.Nd decode and encode PKCS#12 structures
345893597fSschwarze.Sh SYNOPSIS
355893597fSschwarze.In openssl/pkcs12.h
365893597fSschwarze.Ft PKCS12 *
375893597fSschwarze.Fo d2i_PKCS12
385893597fSschwarze.Fa "PKCS12 **val_out"
395893597fSschwarze.Fa "const unsigned char **der_in"
405893597fSschwarze.Fa "long length"
415893597fSschwarze.Fc
425893597fSschwarze.Ft int
435893597fSschwarze.Fo i2d_PKCS12
445893597fSschwarze.Fa "PKCS12 *val_in"
455893597fSschwarze.Fa "unsigned char **der_out"
465893597fSschwarze.Fc
475893597fSschwarze.Ft PKCS12 *
485893597fSschwarze.Fo d2i_PKCS12_bio
495893597fSschwarze.Fa "BIO *in_bio"
505893597fSschwarze.Fa "PKCS12 **val_out"
515893597fSschwarze.Fc
525893597fSschwarze.Ft int
535893597fSschwarze.Fo i2d_PKCS12_bio
545893597fSschwarze.Fa "BIO *out_bio"
555893597fSschwarze.Fa "PKCS12 *val_in"
565893597fSschwarze.Fc
575893597fSschwarze.Ft PKCS12 *
585893597fSschwarze.Fo d2i_PKCS12_fp
595893597fSschwarze.Fa "FILE *in_fp"
605893597fSschwarze.Fa "PKCS12 **val_out"
615893597fSschwarze.Fc
625893597fSschwarze.Ft int
635893597fSschwarze.Fo i2d_PKCS12_fp
645893597fSschwarze.Fa "FILE *out_fp"
655893597fSschwarze.Fa "PKCS12 *val_in"
665893597fSschwarze.Fc
675893597fSschwarze.Ft PKCS12_MAC_DATA *
685893597fSschwarze.Fo d2i_PKCS12_MAC_DATA
695893597fSschwarze.Fa "PKCS12_MAC_DATA **val_out"
705893597fSschwarze.Fa "const unsigned char **der_in"
715893597fSschwarze.Fa "long length"
725893597fSschwarze.Fc
735893597fSschwarze.Ft int
745893597fSschwarze.Fo i2d_PKCS12_MAC_DATA
755893597fSschwarze.Fa "PKCS12_MAC_DATA *val_in"
765893597fSschwarze.Fa "unsigned char **der_out"
775893597fSschwarze.Fc
785893597fSschwarze.Ft PKCS12_SAFEBAG *
795893597fSschwarze.Fo d2i_PKCS12_SAFEBAG
805893597fSschwarze.Fa "PKCS12_SAFEBAG **val_out"
815893597fSschwarze.Fa "const unsigned char **der_in"
825893597fSschwarze.Fa "long length"
835893597fSschwarze.Fc
845893597fSschwarze.Ft int
855893597fSschwarze.Fo i2d_PKCS12_SAFEBAG
865893597fSschwarze.Fa "PKCS12_SAFEBAG *val_in"
875893597fSschwarze.Fa "unsigned char **der_out"
885893597fSschwarze.Fc
895893597fSschwarze.Ft PKCS12_BAGS *
905893597fSschwarze.Fo d2i_PKCS12_BAGS
915893597fSschwarze.Fa "PKCS12_BAGS **val_out"
925893597fSschwarze.Fa "const unsigned char **der_in"
935893597fSschwarze.Fa "long length"
945893597fSschwarze.Fc
955893597fSschwarze.Ft int
965893597fSschwarze.Fo i2d_PKCS12_BAGS
975893597fSschwarze.Fa "PKCS12_BAGS *val_in"
985893597fSschwarze.Fa "unsigned char **der_out"
995893597fSschwarze.Fc
1005893597fSschwarze.Sh DESCRIPTION
1015893597fSschwarzeThese functions decode and encode PKCS#12 structures.
1025893597fSschwarzeFor details about the semantics, examples, caveats, and bugs, see
1035893597fSschwarze.Xr ASN1_item_d2i 3 .
1045893597fSschwarze.Pp
1055893597fSschwarze.Fn d2i_PKCS12
1065893597fSschwarzeand
1075893597fSschwarze.Fn i2d_PKCS12
1085893597fSschwarzedecode and encode an ASN.1
1095893597fSschwarze.Vt PFX
1105893597fSschwarze.Pq personal information exchange
1115893597fSschwarzestructure defined in RFC 7292 section 4.
1125893597fSschwarze.Fn d2i_PKCS12_bio ,
1135893597fSschwarze.Fn i2d_PKCS12_bio ,
1145893597fSschwarze.Fn d2i_PKCS12_fp ,
1155893597fSschwarzeand
1165893597fSschwarze.Fn i2d_PKCS12_fp
1175893597fSschwarzeare similar except that they decode or encode using a
1185893597fSschwarze.Vt BIO
1195893597fSschwarzeor
1205893597fSschwarze.Vt FILE
1215893597fSschwarzepointer.
1225893597fSschwarze.Pp
1235893597fSschwarze.Fn d2i_PKCS12_MAC_DATA
1245893597fSschwarzeand
1255893597fSschwarze.Fn i2d_PKCS12_MAC_DATA
1265893597fSschwarzedecode and encode an ASN.1
1275893597fSschwarze.Vt MacData
1285893597fSschwarzestructure defined in RFC 7292 section 4.
1295893597fSschwarze.Pp
1305893597fSschwarze.Fn d2i_PKCS12_SAFEBAG
1315893597fSschwarzeand
1325893597fSschwarze.Fn i2d_PKCS12_SAFEBAG
1335893597fSschwarzedecode and encode an ASN.1
1345893597fSschwarze.Vt SafeBag
1355893597fSschwarzestructure defined in RFC 7292 section 4.2.
1365893597fSschwarze.Pp
1375893597fSschwarze.Fn d2i_PKCS12_BAGS
1385893597fSschwarzeand
1395893597fSschwarze.Fn i2d_PKCS12_BAGS
1405893597fSschwarzedecode and encode the bagValue field of an ASN.1
1415893597fSschwarze.Vt SafeBag
1425893597fSschwarzestructure.
1435893597fSschwarze.Sh RETURN VALUES
1445893597fSschwarze.Fn d2i_PKCS12 ,
1455893597fSschwarze.Fn d2i_PKCS12_bio ,
1465893597fSschwarzeand
1475893597fSschwarze.Fn d2i_PKCS12_fp
1485893597fSschwarzereturn a
1495893597fSschwarze.Vt PKCS12
1505893597fSschwarzeobject or
1515893597fSschwarze.Dv NULL
1525893597fSschwarzeif an error occurs.
1535893597fSschwarze.Pp
1545893597fSschwarze.Fn d2i_PKCS12_MAC_DATA ,
1555893597fSschwarze.Fn d2i_PKCS12_SAFEBAG ,
1565893597fSschwarzeand
1575893597fSschwarze.Fn d2i_PKCS12_BAGS
1585893597fSschwarzereturn a
1595893597fSschwarze.Vt PKCS12_MAC_DATA ,
1605893597fSschwarze.Vt PKCS12_SAFEBAG ,
1615893597fSschwarzeor
1625893597fSschwarze.Vt PKCS12_BAGS
1635893597fSschwarzeobject, respectively, or
1645893597fSschwarze.Dv NULL
1655893597fSschwarzeif an error occurs.
1665893597fSschwarze.Pp
1675893597fSschwarze.Fn i2d_PKCS12 ,
1685893597fSschwarze.Fn i2d_PKCS12_MAC_DATA ,
1695893597fSschwarze.Fn i2d_PKCS12_SAFEBAG ,
1705893597fSschwarzeand
1715893597fSschwarze.Fn i2d_PKCS12_BAGS
1725893597fSschwarzereturn the number of bytes successfully encoded or a negative value
1735893597fSschwarzeif an error occurs.
1745893597fSschwarze.Pp
1755893597fSschwarze.Fn i2d_PKCS12_bio
1765893597fSschwarzeand
1775893597fSschwarze.Fn i2d_PKCS12_fp
1785893597fSschwarzereturn 1 for success or 0 if an error occurs.
1795893597fSschwarze.Sh SEE ALSO
1805893597fSschwarze.Xr ASN1_item_d2i 3 ,
1815893597fSschwarze.Xr PKCS12_create 3 ,
1825893597fSschwarze.Xr PKCS12_new 3 ,
1835893597fSschwarze.Xr PKCS12_parse 3 ,
1845893597fSschwarze.Xr PKCS12_SAFEBAG_new 3
1855893597fSschwarze.Sh STANDARDS
1865893597fSschwarzeRFC 7292: PKCS #12: Personal Information Exchange Syntax
187*c52b7c01Sschwarze.Sh HISTORY
188*c52b7c01Sschwarze.Fn d2i_PKCS12 ,
189*c52b7c01Sschwarze.Fn i2d_PKCS12 ,
190*c52b7c01Sschwarze.Fn d2i_PKCS12_bio ,
191*c52b7c01Sschwarze.Fn i2d_PKCS12_bio ,
192*c52b7c01Sschwarze.Fn d2i_PKCS12_fp ,
193*c52b7c01Sschwarze.Fn i2d_PKCS12_fp ,
194*c52b7c01Sschwarze.Fn d2i_PKCS12_MAC_DATA ,
195*c52b7c01Sschwarze.Fn i2d_PKCS12_MAC_DATA ,
196*c52b7c01Sschwarze.Fn d2i_PKCS12_SAFEBAG ,
197*c52b7c01Sschwarze.Fn i2d_PKCS12_SAFEBAG ,
198*c52b7c01Sschwarze.Fn d2i_PKCS12_BAGS ,
199*c52b7c01Sschwarzeand
200*c52b7c01Sschwarze.Fn i2d_PKCS12_BAGS
201*c52b7c01Sschwarzefirst appeared in OpenSSL 0.9.3 and have been available since
202*c52b7c01Sschwarze.Ox 2.6 .
203