| =pod |
| |
| =head1 NAME |
| |
| d2i_RSAPublicKey, i2d_RSAPublicKey, d2i_RSAPrivateKey, i2d_RSAPrivateKey, |
| d2i_RSA_PUBKEY, i2d_RSA_PUBKEY, d2i_RSA_PUBKEY_bio, d2i_RSA_PUBKEY_fp, |
| i2d_RSA_PUBKEY_bio, i2d_RSA_PUBKEY_fp, i2d_Netscape_RSA, |
| d2i_Netscape_RSA - RSA public and private key encoding functions. |
| |
| =head1 SYNOPSIS |
| |
| #include <openssl/rsa.h> |
| #include <openssl/x509.h> |
| |
| RSA * d2i_RSAPublicKey(RSA **a, const unsigned char **pp, long length); |
| |
| int i2d_RSAPublicKey(RSA *a, unsigned char **pp); |
| |
| RSA * d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length); |
| |
| int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp); |
| |
| RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa); |
| RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa); |
| |
| int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa); |
| int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa); |
| |
| RSA * d2i_RSAPrivateKey(RSA **a, const 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, const unsigned char **pp, long length, int (*cb)()); |
| |
| =head1 DESCRIPTION |
| |
| d2i_RSAPublicKey() and i2d_RSAPublicKey() decode and encode a PKCS#1 |
| RSAPublicKey structure. |
| |
| d2i_RSA_PUBKEY() and i2d_RSA_PUBKEY() decode and encode an RSA public key using |
| a SubjectPublicKeyInfo (certificate public key) structure. |
| |
| d2i_RSA_PUBKEY_bio(), d2i_RSA_PUBKEY_fp(), i2d_RSA_PUBKEY_bio() and |
| i2d_RSA_PUBKEY_fp() are similar to d2i_RSA_PUBKEY() and i2d_RSA_PUBKEY() |
| except they decode or encode using a B<BIO> or B<FILE> pointer. |
| |
| 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 L<d2i_X509(3)> manual page. |
| |
| =head1 NOTES |
| |
| The B<RSA> structure passed to the private key encoding functions should have |
| all the PKCS#1 private key components present. |
| |
| The data encoded by the private key functions is unencrypted and therefore |
| offers no private key security. |
| |
| The NET format functions are present to provide compatibility with certain very |
| old software. This format has some severe security weaknesses and should be |
| avoided if possible. |
| |
| =head1 SEE ALSO |
| |
| L<d2i_X509(3)> |
| |
| =head1 COPYRIGHT |
| |
| Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved. |
| |
| Licensed under the OpenSSL license (the "License"). You may not use |
| this file except in compliance with the License. You can obtain a copy |
| in the file LICENSE in the source distribution or at |
| L<https://www.openssl.org/source/license.html>. |
| |
| =cut |