d2i_PKCS12,
i2d_PKCS12, d2i_PKCS12_bio,
i2d_PKCS12_bio,
d2i_PKCS12_fp,
i2d_PKCS12_fp,
d2i_PKCS12_MAC_DATA,
i2d_PKCS12_MAC_DATA,
d2i_PKCS12_SAFEBAG,
i2d_PKCS12_SAFEBAG,
d2i_PKCS12_BAGS,
i2d_PKCS12_BAGS — decode and
encode PKCS#12 structures
#include
<openssl/pkcs12.h>
PKCS12 *
d2i_PKCS12(PKCS12 **val_out,
const unsigned char **der_in, long
length);
int
i2d_PKCS12(PKCS12 *val_in,
unsigned char **der_out);
PKCS12 *
d2i_PKCS12_bio(BIO *in_bio,
PKCS12 **val_out);
int
i2d_PKCS12_bio(BIO *out_bio,
PKCS12 *val_in);
PKCS12 *
d2i_PKCS12_fp(FILE *in_fp,
PKCS12 **val_out);
int
i2d_PKCS12_fp(FILE *out_fp,
PKCS12 *val_in);
PKCS12_MAC_DATA *
d2i_PKCS12_MAC_DATA(PKCS12_MAC_DATA
**val_out, const unsigned char **der_in,
long length);
int
i2d_PKCS12_MAC_DATA(PKCS12_MAC_DATA
*val_in, unsigned char **der_out);
PKCS12_SAFEBAG *
d2i_PKCS12_SAFEBAG(PKCS12_SAFEBAG
**val_out, const unsigned char **der_in,
long length);
int
i2d_PKCS12_SAFEBAG(PKCS12_SAFEBAG
*val_in, unsigned char **der_out);
PKCS12_BAGS *
d2i_PKCS12_BAGS(PKCS12_BAGS
**val_out, const unsigned char **der_in,
long length);
int
i2d_PKCS12_BAGS(PKCS12_BAGS
*val_in, unsigned char **der_out);
d2i_PKCS12(),
d2i_PKCS12_bio(), and
d2i_PKCS12_fp() return a
PKCS12 object or NULL if an
error occurs.
d2i_PKCS12_MAC_DATA(),
d2i_PKCS12_SAFEBAG(), and
d2i_PKCS12_BAGS() return a
PKCS12_MAC_DATA, PKCS12_SAFEBAG,
or PKCS12_BAGS object, respectively, or
NULL if an error occurs.
i2d_PKCS12(),
i2d_PKCS12_MAC_DATA(),
i2d_PKCS12_SAFEBAG(), and
i2d_PKCS12_BAGS() return the number of bytes
successfully encoded or a negative value if an error occurs.
i2d_PKCS12_bio() and
i2d_PKCS12_fp() return 1 for success or 0 if an
error occurs.
RFC 7292: PKCS #12: Personal Information Exchange Syntax
d2i_PKCS12(),
i2d_PKCS12(),
d2i_PKCS12_bio(),
i2d_PKCS12_bio(),
d2i_PKCS12_fp(),
i2d_PKCS12_fp(),
d2i_PKCS12_MAC_DATA(),
i2d_PKCS12_MAC_DATA(),
d2i_PKCS12_SAFEBAG(),
i2d_PKCS12_SAFEBAG(),
d2i_PKCS12_BAGS(), and
i2d_PKCS12_BAGS() first appeared in OpenSSL 0.9.3
and have been available since OpenBSD 2.6.