libressl-d2i_PKCS8_PRIV_KEY_INFO - decode and encode PKCS#8 private key


D2I_PKCS8_PRIV_KEY_INFO(3) Library Functions ManualD2I_PKCS8_PRIV_KEY_INFO(3)

NAME

d2i_PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO, d2i_PKCS8_PRIV_KEY_INFO_bio, i2d_PKCS8_PRIV_KEY_INFO_bio, d2i_PKCS8_PRIV_KEY_INFO_fp, i2d_PKCS8_PRIV_KEY_INFO_fp — decode and encode PKCS#8 private key

SYNOPSIS

#include <openssl/x509.h>

PKCS8_PRIV_KEY_INFO *

d2i_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO **val_out, const unsigned char **der_in, long length);

int

i2d_PKCS8_PRIV_KEY_INFO(PKCS8_PRIV_KEY_INFO *val_in, unsigned char **der_out);

PKCS8_PRIV_KEY_INFO *

d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *in_bio, PKCS8_PRIV_KEY_INFO **val_out);

int

i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *out_bio, PKCS8_PRIV_KEY_INFO *val_in);

PKCS8_PRIV_KEY_INFO *

d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *in_fp, PKCS8_PRIV_KEY_INFO **val_out);

int

i2d_PKCS8_PRIV_KEY_INFO_fp(BIO *out_fp, PKCS8_PRIV_KEY_INFO *val_in);

DESCRIPTION

d2i_PKCS8_PRIV_KEY_INFO() and i2d_PKCS8_PRIV_KEY_INFO() decode and encode an ASN.1 PrivateKeyInfo structure defined in RFC 5208 section 5.

d2i_PKCS8_PRIV_KEY_INFO_bio(), i2d_PKCS8_PRIV_KEY_INFO_bio(), d2i_PKCS8_PRIV_KEY_INFO_fp(), and i2d_PKCS8_PRIV_KEY_INFO_fp() are similar except that they decode or encode using a BIO or FILE pointer.

For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

These functions all use unencrypted DER format. To store private keys in encrypted form, consider d2i_PKCS8PrivateKey_bio(3) or PEM_write_PKCS8PrivateKey(3).

RETURN VALUES

d2i_PKCS8_PRIV_KEY_INFO(), d2i_PKCS8_PRIV_KEY_INFO_bio(), and d2i_PKCS8_PRIV_KEY_INFO_fp() return a PKCS8_PRIV_KEY_INFO object or NULL if an error occurs.

i2d_PKCS8_PRIV_KEY_INFO() returns the number of bytes successfully encoded or a negative value if an error occurs.

i2d_PKCS8_PRIV_KEY_INFO_bio() and i2d_PKCS8_PRIV_KEY_INFO_fp() return 1 for success or 0 if an error occurs.

SEE ALSO

ASN1_item_d2i(3), d2i_PKCS8PrivateKey_bio(3), d2i_PrivateKey(3), PEM_write_PKCS8_PRIV_KEY_INFO(3), PKCS8_PRIV_KEY_INFO_new(3)

STANDARDS

RFC 5208: PKCS#8: Private-Key Information Syntax Specification

HISTORY

d2i_PKCS8_PRIV_KEY_INFO() and i2d_PKCS8_PRIV_KEY_INFO() first appeared in OpenSSL 0.9.3. d2i_PKCS8_PRIV_KEY_INFO_bio(), i2d_PKCS8_PRIV_KEY_INFO_bio(), d2i_PKCS8_PRIV_KEY_INFO_fp(), and i2d_PKCS8_PRIV_KEY_INFO_fp() first appeared in OpenSSL 0.9.4. All these functions have been available since OpenBSD 2.6. GNU March 21, 2018 D2I_PKCS8_PRIV_KEY_INFO(3)


Updated 2024-01-29 - jenkler.se | uex.se