


D2I_RSAPUBLICKEY(3)          OpenSSL          D2I_RSAPUBLICKEY(3)


NAME
       d2i_RSAPublicKey, i2d_RSAPublicKey, d2i_RSAPrivateKey,
       i2d_RSAPrivateKey, d2i_RSA_PUBKEY, i2d_RSA_PUBKEY,
       i2d_Netscape_RSA, d2i_Netscape_RSA - RSA public and pri-
       vate key encoding functions.

SYNOPSIS
        #include <openssl/rsa.h>

        RSA * d2i_RSAPublicKey(RSA **a, unsigned char **pp, long length);

        int i2d_RSAPublicKey(RSA *a, unsigned char **pp);

        RSA * d2i_RSA_PUBKEY(RSA **a, unsigned char **pp, long length);

        int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp);

        RSA * d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length);

        int i2d_RSAPrivateKey(RSA *a, unsigned char **pp);

        int i2d_Netscape_RSA(RSA *a, unsigned char **pp, int (*cb)());

        RSA * d2i_Netscape_RSA(RSA **a, unsigned char **pp, long length, int (*cb)());

DESCRIPTION
       d2i_RSAPublicKey() and i2d_RSAPublicKey() decode and
       encode a PKCS#1 RSAPublicKey structure.

       d2i_RSA_PUKEY() and i2d_RSA_PUKEY() decode and encode an
       RSA public key using a SubjectPublicKeyInfo (certificate
       public key) structure.

       d2i_RSAPrivateKey(), i2d_RSAPrivateKey() decode and encode
       a PKCS#1 RSAPrivateKey structure.

       d2i_Netscape_RSA(), i2d_Netscape_RSA() decode and encode
       an RSA private key in NET format.

       The usage of all of these functions is similar to the
       d2i_X509() and i2d_X509() described in the d2i_X509(3)
       manual page.

NOTES
       The RSA structure passed to the private key encoding func-
       tions should have all the PKCS#1 private key components
       present.

       The data encoded by the private key functions is unen-
       crypted and therefore offers no private key security.

       The NET format functions are present to provide compati-
       bility with certain very old software. This format has
       some severe security weaknesses and should be avoided if



OpenBSD 3.5                 2003-05-11                          1





D2I_RSAPUBLICKEY(3)          OpenSSL          D2I_RSAPUBLICKEY(3)


       possible.

SEE ALSO
       d2i_X509(3)

HISTORY
       TBA


















































OpenBSD 3.5                 2003-05-11                          2


