1*2175Sjp161948=pod 2*2175Sjp161948 3*2175Sjp161948=head1 NAME 4*2175Sjp161948 5*2175Sjp161948EVP_PKEY_new, EVP_PKEY_free - private key allocation functions. 6*2175Sjp161948 7*2175Sjp161948=head1 SYNOPSIS 8*2175Sjp161948 9*2175Sjp161948 #include <openssl/evp.h> 10*2175Sjp161948 11*2175Sjp161948 EVP_PKEY *EVP_PKEY_new(void); 12*2175Sjp161948 void EVP_PKEY_free(EVP_PKEY *key); 13*2175Sjp161948 14*2175Sjp161948 15*2175Sjp161948=head1 DESCRIPTION 16*2175Sjp161948 17*2175Sjp161948The EVP_PKEY_new() function allocates an empty B<EVP_PKEY> 18*2175Sjp161948structure which is used by OpenSSL to store private keys. 19*2175Sjp161948 20*2175Sjp161948EVP_PKEY_free() frees up the private key B<key>. 21*2175Sjp161948 22*2175Sjp161948=head1 NOTES 23*2175Sjp161948 24*2175Sjp161948The B<EVP_PKEY> structure is used by various OpenSSL functions 25*2175Sjp161948which require a general private key without reference to any 26*2175Sjp161948particular algorithm. 27*2175Sjp161948 28*2175Sjp161948The structure returned by EVP_PKEY_new() is empty. To add a 29*2175Sjp161948private key to this empty structure the functions described in 30*2175Sjp161948L<EVP_PKEY_set1_RSA(3)|EVP_PKEY_set1_RSA(3)> should be used. 31*2175Sjp161948 32*2175Sjp161948=head1 RETURN VALUES 33*2175Sjp161948 34*2175Sjp161948EVP_PKEY_new() returns either the newly allocated B<EVP_PKEY> 35*2175Sjp161948structure of B<NULL> if an error occurred. 36*2175Sjp161948 37*2175Sjp161948EVP_PKEY_free() does not return a value. 38*2175Sjp161948 39*2175Sjp161948=head1 SEE ALSO 40*2175Sjp161948 41*2175Sjp161948L<EVP_PKEY_set1_RSA(3)|EVP_PKEY_set1_RSA(3)> 42*2175Sjp161948 43*2175Sjp161948=head1 HISTORY 44*2175Sjp161948 45*2175Sjp161948TBA 46*2175Sjp161948 47*2175Sjp161948=cut 48