mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
More d2i/i2d manual pages.
This commit is contained in:
parent
72e04bd13f
commit
9de6bb8abc
82
doc/crypto/d2i_DSAPublicKey.pod
Normal file
82
doc/crypto/d2i_DSAPublicKey.pod
Normal file
@ -0,0 +1,82 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
d2i_DSAPublicKey, i2d_DSAPublicKey, d2i_DSAPrivateKey, i2d_DSAPrivateKey,
|
||||
d2i_DSA_PUBKEY, i2d_DSA_PUBKEY, d2i_DSA_SIG, i2d_DSA_SIG - DSA key encoding
|
||||
and parsing functions.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include <openssl/dsa.h>
|
||||
|
||||
DSA * d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length);
|
||||
|
||||
int i2d_DSAPublicKey(const DSA *a, unsigned char **pp);
|
||||
|
||||
DSA * d2i_DSA_PUBKEY(DSA **a, const unsigned char **pp, long length);
|
||||
|
||||
int i2d_DSA_PUBKEY(const DSA *a, unsigned char **pp);
|
||||
|
||||
DSA * d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length);
|
||||
|
||||
int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp);
|
||||
|
||||
DSA * d2i_DSAparams(DSA **a, const unsigned char **pp, long length);
|
||||
|
||||
int i2d_DSAparams(const DSA *a, unsigned char **pp);
|
||||
|
||||
DSA * d2i_DSA_SIG(DSA_SIG **a, const unsigned char **pp, long length);
|
||||
|
||||
int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
d2i_DSAPublicKey() and i2d_DSAPublicKey() decode and encode the DSA public key
|
||||
components structure.
|
||||
|
||||
d2i_DSA_PUKEY() and i2d_DSA_PUKEY() decode and encode an DSA public key using a
|
||||
SubjectPublicKeyInfo (certificate public key) structure.
|
||||
|
||||
d2i_DSAPrivateKey(), i2d_DSAPrivateKey() decode and encode the DSA private key
|
||||
components.
|
||||
|
||||
d2i_DSAparams(), i2d_DSAparams() decode and encode the DSA parameters using
|
||||
a B<Dss-Parms> structure as defined in RFC2459.
|
||||
|
||||
d2i_DSA_SIG(), i2d_DSA_SIG() decode and encode a DSA signature using a
|
||||
B<Dss-Sig-Value> structure as defined in RFC2459.
|
||||
|
||||
The usage of all of these functions is similar to the d2i_X509() and
|
||||
i2d_X509() described in the L<d2i_X509(3)|d2i_X509(3)> manual page.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
The B<DSA> structure passed to the private key encoding functions should have
|
||||
all the private key components present.
|
||||
|
||||
The data encoded by the private key functions is unencrypted and therefore
|
||||
offers no private key security.
|
||||
|
||||
The B<DSA_PUBKEY> functions should be used in preference to the B<DSAPublicKey>
|
||||
functions when encoding public keys because they use a standard format.
|
||||
|
||||
The B<DSAPublicKey> functions use an non standard format the actual data encoded
|
||||
depends on the value of the B<write_params> field of the B<a> key parameter.
|
||||
If B<write_params> is zero then only the B<pub_key> field is encoded as an
|
||||
B<INTEGER>. If B<write_params> is 1 then a B<SEQUENCE> consisting of the
|
||||
B<p>, B<q>, B<g> and B<pub_key> respectively fields are encoded.
|
||||
|
||||
The B<DSAPrivateKey> functions also use a non standard structure consiting
|
||||
consisting of a SEQUENCE containing the B<p>, B<q>, B<g> and B<pub_key> and
|
||||
B<priv_key> fields respectively.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<d2i_X509(3)|d2i_X509(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
TBA
|
||||
|
||||
=cut
|
56
doc/crypto/d2i_PKCS8PrivateKey.pod
Normal file
56
doc/crypto/d2i_PKCS8PrivateKey.pod
Normal file
@ -0,0 +1,56 @@
|
||||
=pod
|
||||
|
||||
=head1 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
|
||||
|
||||
=head1 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);
|
||||
|
||||
=head1 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 B<PEM> function as described in the L<pem(3)|pem(3)> manual page.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
Before using these functions L<OpenSSL_add_all_algorithms(3)|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 L<BIO_s_mem(3)|BIO_s_mem(3)> for details.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<pem(3)|pem(3)>
|
||||
|
||||
=cut
|
30
doc/crypto/d2i_X509_ALGOR.pod
Normal file
30
doc/crypto/d2i_X509_ALGOR.pod
Normal file
@ -0,0 +1,30 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
d2i_X509_ALGOR, i2d_X509_ALGOR - AlgorithmIdentifier functions.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include <openssl/x509.h>
|
||||
|
||||
DH *d2i_X509_ALGOR(X509_ALGOR **a, unsigned char **pp, long length);
|
||||
int i2d_X509_ALGOR(X509_ALGOR *a, unsigned char **pp);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
These functions decode and encode an B<X509_ALGOR> structure which is
|
||||
equivalent to the B<AlgorithmIdentifier> structure.
|
||||
|
||||
Othewise these behave in a similar way to d2i_X509() and i2d_X509()
|
||||
described in the L<d2i_X509(3)|d2i_X509(3)> manual page.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<d2i_X509(3)|d2i_X509(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
TBA
|
||||
|
||||
=cut
|
30
doc/crypto/d2i_X509_SIG.pod
Normal file
30
doc/crypto/d2i_X509_SIG.pod
Normal file
@ -0,0 +1,30 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
d2i_X509_SIG, i2d_X509_SIG - DigestInfo functions.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include <openssl/x509.h>
|
||||
|
||||
DH *d2i_X509_SIG(X509_SIG **a, unsigned char **pp, long length);
|
||||
int i2d_X509_SIG(X509_SIG *a, unsigned char **pp);
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
These functions decode and encode an X509_SIG structure which is
|
||||
equivalent to the B<DigestInfo> structure defined in PKCS#1 and PKCS#7.
|
||||
|
||||
Othewise these behave in a similar way to d2i_X509() and i2d_X509()
|
||||
described in the L<d2i_X509(3)|d2i_X509(3)> manual page.
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<d2i_X509(3)|d2i_X509(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
TBA
|
||||
|
||||
=cut
|
Loading…
Reference in New Issue
Block a user