This manual page is part of Xcode Tools version 3.2

To obtain these tools:

If you are running a version of Xcode Tools other than 3.2, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



d2i_PKCS8PrivateKey(3)                             OpenSSL                            d2i_PKCS8PrivateKey(3)



NAME
       d2i_PKCS8PrivateKey_bio, d2i_PKCS8PrivateKey_fp, i2d_PKCS8PrivateKey_bio, i2d_PKCS8PrivateKey_fp,
       i2d_PKCS8PrivateKey_nid_bio, i2d_PKCS8PrivateKey_nid_fp - PKCS#8 format private key functions

SYNOPSIS
        #include <openssl/evp.h>

        EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u);
        EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u);

        int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc,
                                         char *kstr, int klen,
                                         pem_password_cb *cb, void *u);

        int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
                                         char *kstr, int klen,
                                         pem_password_cb *cb, void *u);

        int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid,
                                         char *kstr, int klen,
                                         pem_password_cb *cb, void *u);

        int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid,
                                         char *kstr, int klen,
                                         pem_password_cb *cb, void *u);

DESCRIPTION
       The PKCS#8 functions encode and decode private keys in PKCS#8 format using both PKCS#5 v1.5 and
       PKCS#5 v2.0 password based encryption algorithms.

       Other than the use of DER as opposed to PEM these functions are identical to the corresponding PEM
       function as described in the pem(3) manual page.

NOTES
       Before using these functions OpenSSL_add_all_algorithms(3) should be called to initialize the
       internal algorithm lookup tables otherwise errors about unknown algorithms will occur if an attempt
       is made to decrypt a private key.

       These functions are currently the only way to store encrypted private keys using DER format.

       Currently all the functions use BIOs or FILE pointers, there are no functions which work directly on
       memory: this can be readily worked around by converting the buffers to memory BIOs, see BIO_s_mem(3)
       for details.

SEE ALSO
       pem(3)



0.9.8                                            2009-04-03                           d2i_PKCS8PrivateKey(3)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation to the OpenSSL project by sending email to [email protected].
Bug reports
Report bugs in the functionality of the described tool or API to Apple through Bug Reporter and to the OpenSSL project by sending email to [email protected].
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.