| =pod |
| |
| =head1 NAME |
| |
| EVP_PKEY_param_fromdata_init, EVP_PKEY_key_fromdata_init, EVP_PKEY_fromdata, |
| EVP_PKEY_param_fromdata_settable, EVP_PKEY_key_fromdata_settable |
| - functions to create domain parameters and keys from user data |
| |
| =head1 SYNOPSIS |
| |
| #include <openssl/evp.h> |
| |
| int EVP_PKEY_param_fromdata_init(EVP_PKEY_CTX *ctx); |
| int EVP_PKEY_key_fromdata_init(EVP_PKEY_CTX *ctx); |
| int EVP_PKEY_fromdata(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey, OSSL_PARAM params[]); |
| const OSSL_PARAM *EVP_PKEY_param_fromdata_settable(EVP_PKEY_CTX *ctx); |
| const OSSL_PARAM *EVP_PKEY_key_fromdata_settable(EVP_PKEY_CTX *ctx); |
| |
| =head1 DESCRIPTION |
| |
| EVP_PKEY_param_fromdata_init() initializes a public key algorithm context |
| for creating domain parameters from user data. |
| |
| EVP_PKEY_key_fromdata_init() initializes a public key algorithm context for |
| creating a key from user data. |
| |
| EVP_PKEY_fromdata() creates domain parameters or a key, given data from |
| I<params> and a context that's been initialized with |
| EVP_PKEY_param_fromdata_init() or EVP_PKEY_key_fromdata_init(). The result is |
| written to I<*ppkey>. |
| |
| EVP_PKEY_param_fromdata_settable() and EVP_PKEY_key_fromdata_settable() |
| get a constant B<OSSL_PARAM> array that describes the settable parameters |
| that can be used with EVP_PKEY_fromdata(). |
| See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter descriptor. |
| |
| =head1 NOTES |
| |
| These functions only work with key management methods coming from a |
| provider. |
| |
| =for comment We may choose to make this available for legacy methods too... |
| |
| =head1 RETURN VALUES |
| |
| EVP_PKEY_key_fromdata_init(), EVP_PKEY_param_fromdata_init() and |
| EVP_PKEY_fromdata() return 1 for success and 0 or a negative value for |
| failure. In particular a return value of -2 indicates the operation is |
| not supported by the public key algorithm. |
| |
| =head1 SEE ALSO |
| |
| L<EVP_PKEY_CTX_new(3)>, L<provider(7)> |
| |
| =head1 HISTORY |
| |
| These functions were added in OpenSSL 3.0. |
| |
| =head1 COPYRIGHT |
| |
| Copyright 2019 The OpenSSL Project Authors. All Rights Reserved. |
| |
| Licensed under the Apache License 2.0 (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 |
| |