xref: /freebsd/crypto/openssl/doc/man3/EVP_PKEY_settable_params.pod (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
1*b077aed3SPierre Pronchery=pod
2*b077aed3SPierre Pronchery
3*b077aed3SPierre Pronchery=head1 NAME
4*b077aed3SPierre Pronchery
5*b077aed3SPierre ProncheryEVP_PKEY_settable_params, EVP_PKEY_set_params,
6*b077aed3SPierre ProncheryEVP_PKEY_set_int_param, EVP_PKEY_set_size_t_param, EVP_PKEY_set_bn_param,
7*b077aed3SPierre ProncheryEVP_PKEY_set_utf8_string_param, EVP_PKEY_set_octet_string_param
8*b077aed3SPierre Pronchery- set key parameters into a key
9*b077aed3SPierre Pronchery
10*b077aed3SPierre Pronchery=head1 SYNOPSIS
11*b077aed3SPierre Pronchery
12*b077aed3SPierre Pronchery #include <openssl/evp.h>
13*b077aed3SPierre Pronchery
14*b077aed3SPierre Pronchery const OSSL_PARAM *EVP_PKEY_settable_params(const EVP_PKEY *pkey);
15*b077aed3SPierre Pronchery int EVP_PKEY_set_params(EVP_PKEY *pkey, OSSL_PARAM params[]);
16*b077aed3SPierre Pronchery int EVP_PKEY_set_int_param(EVP_PKEY *pkey, const char *key_name, int in);
17*b077aed3SPierre Pronchery int EVP_PKEY_set_size_t_param(EVP_PKEY *pkey, const char *key_name, size_t in);
18*b077aed3SPierre Pronchery int EVP_PKEY_set_bn_param(EVP_PKEY *pkey, const char *key_name,
19*b077aed3SPierre Pronchery                           const BIGNUM *bn);
20*b077aed3SPierre Pronchery int EVP_PKEY_set_utf8_string_param(EVP_PKEY *pkey, const char *key_name,
21*b077aed3SPierre Pronchery                                    const char *str);
22*b077aed3SPierre Pronchery int EVP_PKEY_set_octet_string_param(EVP_PKEY *pkey, const char *key_name,
23*b077aed3SPierre Pronchery                                     const unsigned char *buf, size_t bsize);
24*b077aed3SPierre Pronchery
25*b077aed3SPierre Pronchery=head1 DESCRIPTION
26*b077aed3SPierre Pronchery
27*b077aed3SPierre ProncheryThese functions can be used to set additional parameters into an existing
28*b077aed3SPierre ProncheryB<EVP_PKEY>.
29*b077aed3SPierre Pronchery
30*b077aed3SPierre ProncheryEVP_PKEY_set_params() sets one or more I<params> into a I<pkey>.
31*b077aed3SPierre ProncherySee L<OSSL_PARAM(3)> for information about parameters.
32*b077aed3SPierre Pronchery
33*b077aed3SPierre ProncheryEVP_PKEY_settable_params() returns a constant list of I<params> indicating
34*b077aed3SPierre Proncherythe names and types of key parameters that can be set.
35*b077aed3SPierre ProncherySee L<OSSL_PARAM(3)> for information about parameters.
36*b077aed3SPierre Pronchery
37*b077aed3SPierre ProncheryEVP_PKEY_set_int_param() sets an integer value I<in> into a key I<pkey> for the
38*b077aed3SPierre Proncheryassociated field I<key_name>.
39*b077aed3SPierre Pronchery
40*b077aed3SPierre ProncheryEVP_PKEY_set_size_t_param() sets an size_t value I<in> into a key I<pkey> for
41*b077aed3SPierre Proncherythe associated field I<key_name>.
42*b077aed3SPierre Pronchery
43*b077aed3SPierre ProncheryEVP_PKEY_set_bn_param() sets the BIGNUM value I<bn> into a key I<pkey> for the
44*b077aed3SPierre Proncheryassociated field I<key_name>.
45*b077aed3SPierre Pronchery
46*b077aed3SPierre ProncheryEVP_PKEY_set_utf8_string_param() sets the UTF8 string I<str> into a key I<pkey>
47*b077aed3SPierre Proncheryfor the associated field I<key_name>.
48*b077aed3SPierre Pronchery
49*b077aed3SPierre ProncheryEVP_PKEY_set_octet_string_param() sets the octet string value I<buf> with a
50*b077aed3SPierre Proncherysize I<bsize> into a key I<pkey> for the associated field I<key_name>.
51*b077aed3SPierre Pronchery
52*b077aed3SPierre Pronchery=head1 NOTES
53*b077aed3SPierre Pronchery
54*b077aed3SPierre ProncheryThese functions only work for B<EVP_PKEY>s that contain a provider side key.
55*b077aed3SPierre Pronchery
56*b077aed3SPierre Pronchery=head1 RETURN VALUES
57*b077aed3SPierre Pronchery
58*b077aed3SPierre ProncheryEVP_PKEY_settable_params() returns NULL on error or if it is not supported,
59*b077aed3SPierre Pronchery
60*b077aed3SPierre ProncheryAll other methods return 1 if a value was successfully set, or 0 if
61*b077aed3SPierre Proncherythere was an error.
62*b077aed3SPierre Pronchery
63*b077aed3SPierre Pronchery=head1 SEE ALSO
64*b077aed3SPierre Pronchery
65*b077aed3SPierre ProncheryL<EVP_PKEY_gettable_params(3)>,
66*b077aed3SPierre ProncheryL<EVP_PKEY_CTX_new(3)>, L<provider-keymgmt(7)>, L<OSSL_PARAM(3)>,
67*b077aed3SPierre Pronchery
68*b077aed3SPierre Pronchery
69*b077aed3SPierre Pronchery=head1 HISTORY
70*b077aed3SPierre Pronchery
71*b077aed3SPierre ProncheryThese functions were added in OpenSSL 3.0.
72*b077aed3SPierre Pronchery
73*b077aed3SPierre Pronchery=head1 COPYRIGHT
74*b077aed3SPierre Pronchery
75*b077aed3SPierre ProncheryCopyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved.
76*b077aed3SPierre Pronchery
77*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
78*b077aed3SPierre Proncherythis file except in compliance with the License.  You can obtain a copy
79*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at
80*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>.
81*b077aed3SPierre Pronchery
82*b077aed3SPierre Pronchery=cut
83*b077aed3SPierre Pronchery
84