2000-01-12 06:35:21 +08:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2002-10-06 08:03:20 +08:00
|
|
|
d2i_RSAPublicKey, i2d_RSAPublicKey, d2i_RSAPrivateKey, i2d_RSAPrivateKey,
|
|
|
|
d2i_RSA_PUBKEY, i2d_RSA_PUBKEY, i2d_Netscape_RSA,
|
|
|
|
d2i_Netscape_RSA - RSA public and private key encoding functions.
|
2000-01-12 06:35:21 +08:00
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
2000-01-27 09:25:31 +08:00
|
|
|
#include <openssl/rsa.h>
|
2003-12-10 22:31:55 +08:00
|
|
|
#include <openssl/x509.h>
|
2000-01-12 06:35:21 +08:00
|
|
|
|
2009-04-08 00:33:26 +08:00
|
|
|
RSA * d2i_RSAPublicKey(RSA **a, const unsigned char **pp, long length);
|
2000-01-12 06:35:21 +08:00
|
|
|
|
|
|
|
int i2d_RSAPublicKey(RSA *a, unsigned char **pp);
|
|
|
|
|
2009-04-08 00:33:26 +08:00
|
|
|
RSA * d2i_RSA_PUBKEY(RSA **a, const unsigned char **pp, long length);
|
2002-10-06 08:03:20 +08:00
|
|
|
|
|
|
|
int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp);
|
|
|
|
|
2009-04-08 00:33:26 +08:00
|
|
|
RSA * d2i_RSAPrivateKey(RSA **a, const unsigned char **pp, long length);
|
2000-01-12 06:35:21 +08:00
|
|
|
|
|
|
|
int i2d_RSAPrivateKey(RSA *a, unsigned char **pp);
|
|
|
|
|
|
|
|
int i2d_Netscape_RSA(RSA *a, unsigned char **pp, int (*cb)());
|
|
|
|
|
2009-04-08 00:33:26 +08:00
|
|
|
RSA * d2i_Netscape_RSA(RSA **a, const unsigned char **pp, long length, int (*cb)());
|
2000-01-12 06:35:21 +08:00
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
2002-10-06 08:03:20 +08:00
|
|
|
d2i_RSAPublicKey() and i2d_RSAPublicKey() decode and encode a PKCS#1 RSAPublicKey
|
|
|
|
structure.
|
|
|
|
|
2003-12-10 22:31:55 +08:00
|
|
|
d2i_RSA_PUBKEY() and i2d_RSA_PUBKEY() decode and encode an RSA public key using
|
|
|
|
a SubjectPublicKeyInfo (certificate public key) structure.
|
2002-10-06 08:03:20 +08:00
|
|
|
|
|
|
|
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
|
2015-08-18 03:21:33 +08:00
|
|
|
i2d_X509() described in the L<d2i_X509(3)> manual page.
|
2002-10-06 08:03:20 +08:00
|
|
|
|
|
|
|
=head1 NOTES
|
|
|
|
|
|
|
|
The B<RSA> structure passed to the private key encoding functions should have
|
|
|
|
all the PKCS#1 private key components present.
|
2000-01-12 06:35:21 +08:00
|
|
|
|
2002-10-06 08:03:20 +08:00
|
|
|
The data encoded by the private key functions is unencrypted and therefore
|
|
|
|
offers no private key security.
|
2000-01-12 06:35:21 +08:00
|
|
|
|
2002-10-06 08:03:20 +08:00
|
|
|
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.
|
2000-01-12 06:35:21 +08:00
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2015-08-18 03:21:33 +08:00
|
|
|
L<d2i_X509(3)>
|
2000-01-12 06:35:21 +08:00
|
|
|
|
|
|
|
=head1 HISTORY
|
|
|
|
|
2002-10-06 08:03:20 +08:00
|
|
|
TBA
|
2000-01-12 06:35:21 +08:00
|
|
|
|
|
|
|
=cut
|