Commit b1d495b2 authored by cvs2svn's avatar cvs2svn
Browse files

This commit was manufactured by cvs2svn to create branch

'OpenSSL_0_9_7-stable'.
parents 6b7a46b7 27bad5ad
Loading
Loading
Loading
Loading
+1117 −0

File added.

Preview size limit exceeded, changes collapsed.

+4 −0
Original line number Diff line number Diff line
example1
example2
example3
example4
+43 −0
Original line number Diff line number Diff line
=pod

=head1 NAME

ASN1_OBJECT_new, ASN1_OBJECT_free, - object allocation functions

=head1 SYNOPSIS

 ASN1_OBJECT *ASN1_OBJECT_new(void);
 void ASN1_OBJECT_free(ASN1_OBJECT *a);

=head1 DESCRIPTION

The ASN1_OBJECT allocation routines, allocate and free an
ASN1_OBJECT structure, which represents an ASN1 OBJECT IDENTIFIER.

ASN1_OBJECT_new() allocates and initializes a ASN1_OBJECT structure.

ASN1_OBJECT_free() frees up the B<ASN1_OBJECT> structure B<a>.

=head1 NOTES

Although ASN1_OBJECT_new() allocates a new ASN1_OBJECT structure it
is almost never used in applications. The ASN1 object utility functions
such as OBJ_nid2obj() are used instead.

=head1 RETURN VALUES

If the allocation fails, ASN1_OBJECT_new() returns B<NULL> and sets an error
code that can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
Otherwise it returns a pointer to the newly allocated structure.

ASN1_OBJECT_free() returns no value.

=head1 SEE ALSO

L<ERR_get_error(3)|ERR_get_error(3)>, L<d2i_ASN1_OBJECT(3)|d2i_ASN1_OBJECT(3)>

=head1 HISTORY

ASN1_OBJECT_new() and ASN1_OBJECT_free() are available in all versions of SSLeay and OpenSSL.

=cut
+47 −0
Original line number Diff line number Diff line
=pod

=head1 NAME

EVP_PKEY_new, EVP_PKEY_free - private key allocation functions.

=head1 SYNOPSIS

 #include <openssl/evp.h>

 EVP_PKEY *EVP_PKEY_new(void);
 void EVP_PKEY_free(EVP_PKEY *key);


=head1 DESCRIPTION

The EVP_PKEY_new() function allocates an empty B<EVP_PKEY> 
structure which is used by OpenSSL to store private keys.

EVP_PKEY_free() frees up the private key B<key>.

=head1 NOTES

The B<EVP_PKEY> structure is used by various OpenSSL functions
which require a general private key without reference to any
particular algorithm.

The structure returned by EVP_PKEY_new() is empty. To add a
private key to this empty structure the functions described in
L<EVP_PKEY_set1_RSA(3)|EVP_PKEY_set1_RSA(3)> should be used.

=head1 RETURN VALUES

EVP_PKEY_new() returns either the newly allocated B<EVP_PKEY>
structure of B<NULL> if an error occurred.

EVP_PKEY_free() does not return a value.

=head1 SEE ALSO

L<EVP_PKEY_set1_RSA(3)|EVP_PKEY_set1_RSA(3)>

=head1 HISTORY

TBA

=cut
+80 −0
Original line number Diff line number Diff line
=pod

=head1 NAME

EVP_PKEY_set1_RSA, EVP_PKEY_set1_DSA, EVP_PKEY_set1_DH, EVP_PKEY_set1_EC_KEY,
EVP_PKEY_get1_RSA, EVP_PKEY_get1_DSA, EVP_PKEY_get1_DH, EVP_PKEY_get1_EC_KEY,
EVP_PKEY_assign_RSA, EVP_PKEY_assign_DSA, EVP_PKEY_assign_DH, EVP_PKEY_assign_EC_KEY,
EVP_PKEY_type - EVP_PKEY assignment functions.

=head1 SYNOPSIS

 #include <openssl/evp.h>

 int EVP_PKEY_set1_RSA(EVP_PKEY *pkey,RSA *key);
 int EVP_PKEY_set1_DSA(EVP_PKEY *pkey,DSA *key);
 int EVP_PKEY_set1_DH(EVP_PKEY *pkey,DH *key);
 int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey,EC_KEY *key);

 RSA *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
 DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey);
 DH *EVP_PKEY_get1_DH(EVP_PKEY *pkey);
 EC_KEY *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey);

 int EVP_PKEY_assign_RSA(EVP_PKEY *pkey,RSA *key);
 int EVP_PKEY_assign_DSA(EVP_PKEY *pkey,DSA *key);
 int EVP_PKEY_assign_DH(EVP_PKEY *pkey,DH *key);
 int EVP_PKEY_assign_EC_KEY(EVP_PKEY *pkey,EC_KEY *key);

 int EVP_PKEY_type(int type);

=head1 DESCRIPTION

EVP_PKEY_set1_RSA(), EVP_PKEY_set1_DSA(), EVP_PKEY_set1_DH() and
EVP_PKEY_set1_EC_KEY() set the key referenced by B<pkey> to B<key>.

EVP_PKEY_get1_RSA(), EVP_PKEY_get1_DSA(), EVP_PKEY_get1_DH() and
EVP_PKEY_get1_EC_KEY() return the referenced key in B<pkey> or
B<NULL> if the key is not of the correct type.

EVP_PKEY_assign_RSA() EVP_PKEY_assign_DSA(), EVP_PKEY_assign_DH()
and EVP_PKEY_assign_EC_KEY() also set the referenced key to B<key>
however these use the supplied B<key> internally and so B<key>
will be freed when the parent B<pkey> is freed.

EVP_PKEY_type() returns the type of key corresponding to the value
B<type>. The type of a key can be obtained with
EVP_PKEY_type(pkey->type). The return value will be EVP_PKEY_RSA,
EVP_PKEY_DSA, EVP_PKEY_DH or EVP_PKEY_EC for the corresponding
key types or NID_undef if the key type is unassigned.

=head1 NOTES

In accordance with the OpenSSL naming convention the key obtained
from or assigned to the B<pkey> using the B<1> functions must be
freed as well as B<pkey>.

EVP_PKEY_assign_RSA() EVP_PKEY_assign_DSA(), EVP_PKEY_assign_DH()
EVP_PKEY_assign_EC_KEY() are implemented as macros.

=head1 RETURN VALUES

EVP_PKEY_set1_RSA(), EVP_PKEY_set1_DSA(), EVP_PKEY_set1_DH() and
EVP_PKEY_set1_EC_KEY() return 1 for success or 0 for failure.

EVP_PKEY_get1_RSA(), EVP_PKEY_get1_DSA(), EVP_PKEY_get1_DH() and
EVP_PKEY_get1_EC_KEY() return the referenced key or B<NULL> if 
an error occurred.

EVP_PKEY_assign_RSA() EVP_PKEY_assign_DSA(), EVP_PKEY_assign_DH()
and EVP_PKEY_assign_EC_KEY() return 1 for success and 0 for failure.

=head1 SEE ALSO

L<EVP_PKEY_new(3)|EVP_PKEY_new(3)>

=head1 HISTORY

TBA

=cut
Loading