mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
Fix EVP_PKEY_CTX_ctrl() documentation
Remove references to 'macro' from EVP_PKEY_CTX_ctrl() as they are all functions now, and update the HISTORY section. Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12853)
This commit is contained in:
parent
33dd828d97
commit
96bb4ff9b8
@ -176,9 +176,9 @@ EVP_PKEY_CTX_set1_id, EVP_PKEY_CTX_get1_id, EVP_PKEY_CTX_get1_id_len
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
The function EVP_PKEY_CTX_ctrl() sends a control operation to the context
|
||||
I<ctx>. The key type used must match I<keytype> if it is not -1. The parameter
|
||||
I<optype> is a mask indicating which operations the control can be applied to.
|
||||
EVP_PKEY_CTX_ctrl() sends a control operation to the context I<ctx>. The key
|
||||
type used must match I<keytype> if it is not -1. The parameter I<optype> is a
|
||||
mask indicating which operations the control can be applied to.
|
||||
The control command is indicated in I<cmd> and any additional arguments in
|
||||
I<p1> and I<p2>.
|
||||
|
||||
@ -186,39 +186,37 @@ For I<cmd> = B<EVP_PKEY_CTRL_SET_MAC_KEY>, I<p1> is the length of the MAC key,
|
||||
and I<p2> is the MAC key. This is used by Poly1305, SipHash, HMAC and CMAC.
|
||||
|
||||
Applications will not normally call EVP_PKEY_CTX_ctrl() directly but will
|
||||
instead call one of the algorithm specific macros below.
|
||||
instead call one of the algorithm specific functions below.
|
||||
|
||||
The function EVP_PKEY_CTX_ctrl_uint64() is a wrapper that directly passes a
|
||||
EVP_PKEY_CTX_ctrl_uint64() is a wrapper that directly passes a
|
||||
uint64 value as I<p2> to EVP_PKEY_CTX_ctrl().
|
||||
|
||||
The function EVP_PKEY_CTX_ctrl_str() allows an application to send an algorithm
|
||||
EVP_PKEY_CTX_ctrl_str() allows an application to send an algorithm
|
||||
specific control operation to a context I<ctx> in string form. This is
|
||||
intended to be used for options specified on the command line or in text
|
||||
files. The commands supported are documented in the openssl utility
|
||||
command line pages for the option I<-pkeyopt> which is supported by the
|
||||
I<pkeyutl>, I<genpkey> and I<req> commands.
|
||||
|
||||
The function EVP_PKEY_CTX_md() sends a message digest control operation
|
||||
to the context I<ctx>. The message digest is specified by its name I<md>.
|
||||
EVP_PKEY_CTX_md() sends a message digest control operation to the context
|
||||
I<ctx>. The message digest is specified by its name I<md>.
|
||||
|
||||
The EVP_PKEY_CTX_set_signature_md() function sets the message digest type used
|
||||
EVP_PKEY_CTX_set_signature_md() sets the message digest type used
|
||||
in a signature. It can be used in the RSA, DSA and ECDSA algorithms.
|
||||
|
||||
The EVP_PKEY_CTX_get_signature_md() function gets the message digest type used
|
||||
EVP_PKEY_CTX_get_signature_md()gets the message digest type used
|
||||
in a signature. It can be used in the RSA, DSA and ECDSA algorithms.
|
||||
|
||||
All the remaining "functions" are implemented as macros.
|
||||
|
||||
Key generation typically involves setting up parameters to be used and
|
||||
generating the private and public key data. Some algorithm implementations
|
||||
allow private key data to be set explicitly using the EVP_PKEY_CTX_set_mac_key()
|
||||
macro. In this case key generation is simply the process of setting up the
|
||||
parameters for the key and then setting the raw key data to the value explicitly
|
||||
provided by that macro. Normally applications would call
|
||||
L<EVP_PKEY_new_raw_private_key(3)> or similar functions instead of this macro.
|
||||
allow private key data to be set explicitly using EVP_PKEY_CTX_set_mac_key().
|
||||
In this case key generation is simply the process of setting up the
|
||||
parameters for the key and then setting the raw key data to the value explicitly.
|
||||
Normally applications would call L<EVP_PKEY_new_raw_private_key(3)> or similar
|
||||
functions instead.
|
||||
|
||||
The EVP_PKEY_CTX_set_mac_key() macro can be used with any of the algorithms
|
||||
supported by the L<EVP_PKEY_new_raw_private_key(3)> function.
|
||||
EVP_PKEY_CTX_set_mac_key() can be used with any of the algorithms supported by
|
||||
the L<EVP_PKEY_new_raw_private_key(3)> function.
|
||||
|
||||
EVP_PKEY_CTX_set_group_name() sets the group name to I<name> for parameter and
|
||||
key generation. For example for EC keys this will set the curve name and for
|
||||
@ -231,7 +229,7 @@ terminating NUL byte.
|
||||
|
||||
=head2 RSA parameters
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_padding() function sets the RSA padding mode for I<ctx>.
|
||||
EVP_PKEY_CTX_set_rsa_padding() sets the RSA padding mode for I<ctx>.
|
||||
The I<pad> parameter can take the value B<RSA_PKCS1_PADDING> for PKCS#1
|
||||
padding, B<RSA_SSLV23_PADDING> for SSLv23 padding, B<RSA_NO_PADDING> for
|
||||
no padding, B<RSA_PKCS1_OAEP_PADDING> for OAEP padding (encrypt and
|
||||
@ -241,7 +239,7 @@ B<RSA_PKCS1_WITH_TLS_PADDING> for TLS RSA ClientKeyExchange message padding
|
||||
(decryption only).
|
||||
|
||||
Two RSA padding modes behave differently if EVP_PKEY_CTX_set_signature_md()
|
||||
is used. If this macro is called for PKCS#1 padding the plaintext buffer is
|
||||
is used. If this function is called for PKCS#1 padding the plaintext buffer is
|
||||
an actual digest value and is encapsulated in a DigestInfo structure according
|
||||
to PKCS#1 when signing and this structure is expected (and stripped off) when
|
||||
verifying. If this control is not used with RSA and PKCS#1 padding then the
|
||||
@ -250,13 +248,12 @@ padding for RSA the algorithm identifier byte is added or checked and removed
|
||||
if this control is called. If it is not called then the first byte of the plaintext
|
||||
buffer is expected to be the algorithm identifier byte.
|
||||
|
||||
The EVP_PKEY_CTX_get_rsa_padding() function gets the RSA padding mode for I<ctx>.
|
||||
EVP_PKEY_CTX_get_rsa_padding() gets the RSA padding mode for I<ctx>.
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_pss_saltlen() function sets the RSA PSS salt
|
||||
length to I<saltlen>. As its name implies it is only supported for PSS
|
||||
padding. If this function is not called then the maximum salt length
|
||||
is used when signing and auto detection when verifying. Three special
|
||||
values are supported:
|
||||
EVP_PKEY_CTX_set_rsa_pss_saltlen() sets the RSA PSS salt length to I<saltlen>.
|
||||
As its name implies it is only supported for PSS padding. If this function is
|
||||
not called then the maximum salt length is used when signing and auto detection
|
||||
when verifying. Three special values are supported:
|
||||
|
||||
=over 4
|
||||
|
||||
@ -276,74 +273,73 @@ meaning as B<RSA_PSS_SALTLEN_MAX>.
|
||||
|
||||
=back
|
||||
|
||||
The EVP_PKEY_CTX_get_rsa_pss_saltlen() function gets the RSA PSS salt length
|
||||
for I<ctx>. The padding mode must already have been set to
|
||||
B<RSA_PKCS1_PSS_PADDING>.
|
||||
EVP_PKEY_CTX_get_rsa_pss_saltlen() gets the RSA PSS salt length for I<ctx>.
|
||||
The padding mode must already have been set to B<RSA_PKCS1_PSS_PADDING>.
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_keygen_bits() macro sets the RSA key length for
|
||||
EVP_PKEY_CTX_set_rsa_keygen_bits() sets the RSA key length for
|
||||
RSA key generation to I<bits>. If not specified 2048 bits is used.
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_keygen_pubexp() macro sets the public exponent value
|
||||
for RSA key generation to I<pubexp>. Currently it should be an odd integer. The
|
||||
EVP_PKEY_CTX_set_rsa_keygen_pubexp() sets the public exponent value for RSA key
|
||||
generation to I<pubexp>. Currently it should be an odd integer. The
|
||||
I<pubexp> pointer is used internally by this function so it should not be
|
||||
modified or freed after the call. If not specified 65537 is used.
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_keygen_primes() macro sets the number of primes for
|
||||
EVP_PKEY_CTX_set_rsa_keygen_primes() sets the number of primes for
|
||||
RSA key generation to I<primes>. If not specified 2 is used.
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_mgf1_md_name() function sets the MGF1 digest for RSA
|
||||
EVP_PKEY_CTX_set_rsa_mgf1_md_name() sets the MGF1 digest for RSA
|
||||
padding schemes to the digest named I<mdname>. If the RSA algorithm
|
||||
implementation for the selected provider supports it then the digest will be
|
||||
fetched using the properties I<mdprops>. If not explicitly set the signing
|
||||
digest is used. The padding mode must have been set to B<RSA_PKCS1_OAEP_PADDING>
|
||||
or B<RSA_PKCS1_PSS_PADDING>.
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_mgf1_md() function does the same as
|
||||
EVP_PKEY_CTX_set_rsa_mgf1_md() does the same as
|
||||
EVP_PKEY_CTX_set_rsa_mgf1_md_name() except that the name of the digest is
|
||||
inferred from the supplied I<md> and it is not possible to specify any
|
||||
properties.
|
||||
|
||||
The EVP_PKEY_CTX_get_rsa_mgf1_md_name() function gets the name of the MGF1
|
||||
EVP_PKEY_CTX_get_rsa_mgf1_md_name() gets the name of the MGF1
|
||||
digest algorithm for I<ctx>. If not explicitly set the signing digest is used.
|
||||
The padding mode must have been set to B<RSA_PKCS1_OAEP_PADDING> or
|
||||
B<RSA_PKCS1_PSS_PADDING>.
|
||||
|
||||
The EVP_PKEY_CTX_get_rsa_mgf1_md() function does the same as
|
||||
EVP_PKEY_CTX_get_rsa_mgf1_md() does the same as
|
||||
EVP_PKEY_CTX_get_rsa_mgf1_md_name() except that it returns a pointer to an
|
||||
EVP_MD object instead. Note that only known, built-in EVP_MD objects will be
|
||||
returned. The EVP_MD object may be NULL if the digest is not one of these (such
|
||||
as a digest only implemented in a third party provider).
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_oaep_md_name() function sets the message digest type
|
||||
EVP_PKEY_CTX_set_rsa_oaep_md_name() sets the message digest type
|
||||
used in RSA OAEP to the digest named I<mdname>. If the RSA algorithm
|
||||
implementation for the selected provider supports it then the digest will be
|
||||
fetched using the properties I<mdprops>. The padding mode must have been set to
|
||||
B<RSA_PKCS1_OAEP_PADDING>.
|
||||
|
||||
The EVP_PKEY_CTX_set_rsa_oaep_md() function does the same as
|
||||
EVP_PKEY_CTX_set_rsa_oaep_md() does the same as
|
||||
EVP_PKEY_CTX_set_rsa_oaep_md_name() except that the name of the digest is
|
||||
inferred from the supplied I<md> and it is not possible to specify any
|
||||
properties.
|
||||
|
||||
The EVP_PKEY_CTX_get_rsa_oaep_md_name() function gets the message digest
|
||||
EVP_PKEY_CTX_get_rsa_oaep_md_name() gets the message digest
|
||||
algorithm name used in RSA OAEP and stores it in the buffer I<name> which is of
|
||||
size I<namelen>. The padding mode must have been set to
|
||||
B<RSA_PKCS1_OAEP_PADDING>. The buffer should be sufficiently large for any
|
||||
expected digest algorithm names or the function will fail.
|
||||
|
||||
The EVP_PKEY_CTX_get_rsa_oaep_md() function does the same as
|
||||
EVP_PKEY_CTX_get_rsa_oaep_md() does the same as
|
||||
EVP_PKEY_CTX_get_rsa_oaep_md_name() except that it returns a pointer to an
|
||||
EVP_MD object instead. Note that only known, built-in EVP_MD objects will be
|
||||
returned. The EVP_MD object may be NULL if the digest is not one of these (such
|
||||
as a digest only implemented in a third party provider).
|
||||
|
||||
The EVP_PKEY_CTX_set0_rsa_oaep_label() function sets the RSA OAEP label to
|
||||
EVP_PKEY_CTX_set0_rsa_oaep_label() sets the RSA OAEP label to
|
||||
I<label> and its length to I<len>. If I<label> is NULL or I<len> is 0,
|
||||
the label is cleared. The library takes ownership of the label so the
|
||||
caller should not free the original memory pointed to by I<label>.
|
||||
The padding mode must have been set to B<RSA_PKCS1_OAEP_PADDING>.
|
||||
|
||||
The EVP_PKEY_CTX_get0_rsa_oaep_label() function gets the RSA OAEP label to
|
||||
EVP_PKEY_CTX_get0_rsa_oaep_label() gets the RSA OAEP label to
|
||||
I<label>. The return value is the label length. The padding mode
|
||||
must have been set to B<RSA_PKCS1_OAEP_PADDING>. The resulting pointer is owned
|
||||
by the library and should not be freed by the caller.
|
||||
@ -405,20 +401,20 @@ generation if I<name> is "fips186_4", or FIPS186-2 generation if I<name> is
|
||||
|
||||
=head2 DH parameters
|
||||
|
||||
The EVP_PKEY_CTX_set_dh_paramgen_prime_len() macro sets the length of the DH
|
||||
prime parameter I<p> for DH parameter generation. If this macro is not called
|
||||
then 2048 is used. Only accepts lengths greater than or equal to 256.
|
||||
EVP_PKEY_CTX_set_dh_paramgen_prime_len() sets the length of the DH prime
|
||||
parameter I<p> for DH parameter generation. If this function is not called then
|
||||
2048 is used. Only accepts lengths greater than or equal to 256.
|
||||
|
||||
The EVP_PKEY_CTX_set_dh_paramgen_subprime_len() macro sets the length of the DH
|
||||
EVP_PKEY_CTX_set_dh_paramgen_subprime_len() sets the length of the DH
|
||||
optional subprime parameter I<q> for DH parameter generation. The default is
|
||||
256 if the prime is at least 2048 bits long or 160 otherwise. The DH
|
||||
paramgen type must have been set to "fips186_4".
|
||||
256 if the prime is at least 2048 bits long or 160 otherwise. The DH paramgen
|
||||
type must have been set to "fips186_4".
|
||||
|
||||
The EVP_PKEY_CTX_set_dh_paramgen_generator() macro sets DH generator to I<gen>
|
||||
for DH parameter generation. If not specified 2 is used.
|
||||
EVP_PKEY_CTX_set_dh_paramgen_generator() sets DH generator to I<gen> for DH
|
||||
parameter generation. If not specified 2 is used.
|
||||
|
||||
The EVP_PKEY_CTX_set_dh_paramgen_type() macro sets the key type for DH
|
||||
parameter generation. The supported parameters are:
|
||||
EVP_PKEY_CTX_set_dh_paramgen_type() sets the key type for DH parameter
|
||||
generation. The supported parameters are:
|
||||
|
||||
=over 4
|
||||
|
||||
@ -454,7 +450,7 @@ testing purposes only and can fail if the seed does not produce primes for both
|
||||
p & q on its first iteration. This value must be saved if key validation of p, q,
|
||||
and verifiable g are required, since it is not part of a persisted key.
|
||||
|
||||
The EVP_PKEY_CTX_set_dh_pad() function sets the DH padding mode.
|
||||
EVP_PKEY_CTX_set_dh_pad() sets the DH padding mode.
|
||||
If I<pad> is 1 the shared secret is padded with zeros up to the size of the DH
|
||||
prime I<p>.
|
||||
If I<pad> is zero (the default) then no padding is performed.
|
||||
@ -464,15 +460,14 @@ I<nid> as defined in RFC7919 or RFC3526. The I<nid> parameter must be
|
||||
B<NID_ffdhe2048>, B<NID_ffdhe3072>, B<NID_ffdhe4096>, B<NID_ffdhe6144>,
|
||||
B<NID_ffdhe8192>, B<NID_modp_1536>, B<NID_modp_2048>, B<NID_modp_3072>,
|
||||
B<NID_modp_4096>, B<NID_modp_6144>, B<NID_modp_8192> or B<NID_undef> to clear
|
||||
the stored value. This macro can be called during parameter or key generation.
|
||||
the stored value. This function can be called during parameter or key generation.
|
||||
The nid parameter and the rfc5114 parameter are mutually exclusive.
|
||||
|
||||
The EVP_PKEY_CTX_set_dh_rfc5114() and EVP_PKEY_CTX_set_dhx_rfc5114() macros are
|
||||
synonymous. They set the DH parameters to the values defined in RFC5114. The
|
||||
I<rfc5114> parameter must be 1, 2 or 3 corresponding to RFC5114 sections
|
||||
2.1, 2.2 and 2.3. or 0 to clear the stored value. This macro can be called
|
||||
during parameter generation. The I<ctx> must have a key type of
|
||||
B<EVP_PKEY_DHX>.
|
||||
EVP_PKEY_CTX_set_dh_rfc5114() and EVP_PKEY_CTX_set_dhx_rfc5114() both set the
|
||||
DH parameters to the values defined in RFC5114. The I<rfc5114> parameter must
|
||||
be 1, 2 or 3 corresponding to RFC5114 sections 2.1, 2.2 and 2.3. or 0 to clear
|
||||
the stored value. This macro can be called during parameter generation. The
|
||||
I<ctx> must have a key type of B<EVP_PKEY_DHX>.
|
||||
The rfc5114 parameter and the nid parameter are mutually exclusive.
|
||||
|
||||
=head2 DH key derivation function parameters
|
||||
@ -555,67 +550,67 @@ versions should use 0 instead.
|
||||
|
||||
=head2 ECDH parameters
|
||||
|
||||
The EVP_PKEY_CTX_set_ecdh_cofactor_mode() macro sets the cofactor mode to
|
||||
I<cofactor_mode> for ECDH key derivation. Possible values are 1 to enable
|
||||
cofactor key derivation, 0 to disable it and -1 to clear the stored cofactor
|
||||
mode and fallback to the private key cofactor mode.
|
||||
EVP_PKEY_CTX_set_ecdh_cofactor_mode() sets the cofactor mode to I<cofactor_mode>
|
||||
for ECDH key derivation. Possible values are 1 to enable cofactor
|
||||
key derivation, 0 to disable it and -1 to clear the stored cofactor mode and
|
||||
fallback to the private key cofactor mode.
|
||||
|
||||
The EVP_PKEY_CTX_get_ecdh_cofactor_mode() macro returns the cofactor mode for
|
||||
I<ctx> used for ECDH key derivation. Possible values are 1 when cofactor key
|
||||
derivation is enabled and 0 otherwise.
|
||||
EVP_PKEY_CTX_get_ecdh_cofactor_mode() returns the cofactor mode for I<ctx> used
|
||||
for ECDH key derivation. Possible values are 1 when cofactor key derivation is
|
||||
enabled and 0 otherwise.
|
||||
|
||||
=head2 ECDH key derivation function parameters
|
||||
|
||||
The EVP_PKEY_CTX_set_ecdh_kdf_type() macro sets the key derivation function type
|
||||
to I<kdf> for ECDH key derivation. Possible values are B<EVP_PKEY_ECDH_KDF_NONE>
|
||||
EVP_PKEY_CTX_set_ecdh_kdf_type() sets the key derivation function type to
|
||||
I<kdf> for ECDH key derivation. Possible values are B<EVP_PKEY_ECDH_KDF_NONE>
|
||||
and B<EVP_PKEY_ECDH_KDF_X9_63> which uses the key derivation specified in X9.63.
|
||||
When using key derivation, the I<kdf_md> and I<kdf_outlen> parameters must
|
||||
also be specified.
|
||||
|
||||
The EVP_PKEY_CTX_get_ecdh_kdf_type() macro returns the key derivation function
|
||||
type for I<ctx> used for ECDH key derivation. Possible values are
|
||||
EVP_PKEY_CTX_get_ecdh_kdf_type() returns the key derivation function type for
|
||||
I<ctx> used for ECDH key derivation. Possible values are
|
||||
B<EVP_PKEY_ECDH_KDF_NONE> and B<EVP_PKEY_ECDH_KDF_X9_63>.
|
||||
|
||||
The EVP_PKEY_CTX_set_ecdh_kdf_md() macro sets the key derivation function
|
||||
message digest to I<md> for ECDH key derivation. Note that X9.63 specifies
|
||||
that this digest should be SHA1 but OpenSSL tolerates other digests.
|
||||
EVP_PKEY_CTX_set_ecdh_kdf_md() sets the key derivation function message digest
|
||||
to I<md> for ECDH key derivation. Note that X9.63 specifies that this digest
|
||||
should be SHA1 but OpenSSL tolerates other digests.
|
||||
|
||||
The EVP_PKEY_CTX_get_ecdh_kdf_md() macro gets the key derivation function
|
||||
message digest for I<ctx> used for ECDH key derivation.
|
||||
EVP_PKEY_CTX_get_ecdh_kdf_md() gets the key derivation function message digest
|
||||
for I<ctx> used for ECDH key derivation.
|
||||
|
||||
The EVP_PKEY_CTX_set_ecdh_kdf_outlen() macro sets the key derivation function
|
||||
output length to I<len> for ECDH key derivation.
|
||||
EVP_PKEY_CTX_set_ecdh_kdf_outlen() sets the key derivation function output
|
||||
length to I<len> for ECDH key derivation.
|
||||
|
||||
The EVP_PKEY_CTX_get_ecdh_kdf_outlen() macro gets the key derivation function
|
||||
output length for I<ctx> used for ECDH key derivation.
|
||||
EVP_PKEY_CTX_get_ecdh_kdf_outlen() gets the key derivation function output
|
||||
length for I<ctx> used for ECDH key derivation.
|
||||
|
||||
The EVP_PKEY_CTX_set0_ecdh_kdf_ukm() macro sets the user key material to I<ukm>
|
||||
for ECDH key derivation. This parameter is optional and corresponds to the
|
||||
shared info in X9.63 terms. The library takes ownership of the user key material
|
||||
so the caller should not free the original memory pointed to by I<ukm>.
|
||||
EVP_PKEY_CTX_set0_ecdh_kdf_ukm() sets the user key material to I<ukm> for ECDH
|
||||
key derivation. This parameter is optional and corresponds to the shared info in
|
||||
X9.63 terms. The library takes ownership of the user key material so the caller
|
||||
should not free the original memory pointed to by I<ukm>.
|
||||
|
||||
The EVP_PKEY_CTX_get0_ecdh_kdf_ukm() macro gets the user key material for I<ctx>.
|
||||
EVP_PKEY_CTX_get0_ecdh_kdf_ukm() gets the user key material for I<ctx>.
|
||||
The return value is the user key material length. The resulting pointer is owned
|
||||
by the library and should not be freed by the caller.
|
||||
|
||||
=head2 Other parameters
|
||||
|
||||
The EVP_PKEY_CTX_set1_id(), EVP_PKEY_CTX_get1_id() and EVP_PKEY_CTX_get1_id_len()
|
||||
macros are used to manipulate the special identifier field for specific signature
|
||||
EVP_PKEY_CTX_set1_id(), EVP_PKEY_CTX_get1_id() and EVP_PKEY_CTX_get1_id_len()
|
||||
are used to manipulate the special identifier field for specific signature
|
||||
algorithms such as SM2. The EVP_PKEY_CTX_set1_id() sets an ID pointed by I<id> with
|
||||
the length I<id_len> to the library. The library takes a copy of the id so that
|
||||
the caller can safely free the original memory pointed to by I<id>. The
|
||||
EVP_PKEY_CTX_get1_id_len() macro returns the length of the ID set via a previous
|
||||
call to EVP_PKEY_CTX_set1_id(). The length is usually used to allocate adequate
|
||||
memory for further calls to EVP_PKEY_CTX_get1_id(). The EVP_PKEY_CTX_get1_id()
|
||||
macro returns the previously set ID value to caller in I<id>. The caller should
|
||||
the caller can safely free the original memory pointed to by I<id>.
|
||||
EVP_PKEY_CTX_get1_id_len() returns the length of the ID set via a previous call
|
||||
to EVP_PKEY_CTX_set1_id(). The length is usually used to allocate adequate
|
||||
memory for further calls to EVP_PKEY_CTX_get1_id(). EVP_PKEY_CTX_get1_id()
|
||||
returns the previously set ID value to caller in I<id>. The caller should
|
||||
allocate adequate memory space for the I<id> before calling EVP_PKEY_CTX_get1_id().
|
||||
|
||||
=head1 RETURN VALUES
|
||||
|
||||
All other functions and macros described on this page return a positive value
|
||||
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.
|
||||
All other functions described on this page return a positive value 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
|
||||
|
||||
@ -631,23 +626,6 @@ L<EVP_PKEY_keygen(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
EVP_PKEY_CTX_get_signature_md(), EVP_PKEY_CTX_set_signature_md(),
|
||||
EVP_PKEY_CTX_set_dh_pad(), EVP_PKEY_CTX_set_rsa_padding(),
|
||||
EVP_PKEY_CTX_get_rsa_padding(), EVP_PKEY_CTX_get_rsa_mgf1_md(),
|
||||
EVP_PKEY_CTX_set_rsa_mgf1_md(), EVP_PKEY_CTX_set_rsa_oaep_md(),
|
||||
EVP_PKEY_CTX_get_rsa_oaep_md(), EVP_PKEY_CTX_set0_rsa_oaep_label(),
|
||||
EVP_PKEY_CTX_get0_rsa_oaep_label(), EVP_PKEY_CTX_set_rsa_pss_saltlen(),
|
||||
EVP_PKEY_CTX_get_rsa_pss_saltlen(), EVP_PKEY_CTX_set_dsa_paramgen_bits(),
|
||||
EVP_PKEY_CTX_set_dsa_paramgen_q_bits(), EVP_PKEY_CTX_set_dsa_paramgen_md().
|
||||
EVP_PKEY_CTX_set_dh_kdf_type(), EVP_PKEY_CTX_get_dh_kdf_type(),
|
||||
EVP_PKEY_CTX_set0_dh_kdf_oid(), EVP_PKEY_CTX_get0_dh_kdf_oid(),
|
||||
EVP_PKEY_CTX_set_dh_kdf_md(), EVP_PKEY_CTX_get_dh_kdf_md(),
|
||||
EVP_PKEY_CTX_set_dh_kdf_outlen(), EVP_PKEY_CTX_get_dh_kdf_outlen(),
|
||||
EVP_PKEY_CTX_set0_dh_kdf_ukm(), EVP_PKEY_CTX_get0_dh_kdf_ukm() and
|
||||
EVP_PKEY_CTX_set_ec_param_enc(), EVP_PKEY_CTX_set_ec_paramgen_curve_nid()
|
||||
were macros in OpenSSL 1.1.1 and below.
|
||||
From OpenSSL 3.0 they are functions.
|
||||
|
||||
EVP_PKEY_CTX_get_rsa_oaep_md_name(), EVP_PKEY_CTX_get_rsa_mgf1_md_name(),
|
||||
EVP_PKEY_CTX_set_rsa_mgf1_md_name(), EVP_PKEY_CTX_set_rsa_oaep_md_name(),
|
||||
EVP_PKEY_CTX_set_dsa_paramgen_md_props(), EVP_PKEY_CTX_set_dsa_paramgen_gindex(),
|
||||
@ -659,6 +637,9 @@ The EVP_PKEY_CTX_set1_id(), EVP_PKEY_CTX_get1_id() and
|
||||
EVP_PKEY_CTX_get1_id_len() macros were added in 1.1.1, other functions were
|
||||
added in OpenSSL 1.0.0.
|
||||
|
||||
In OpenSSL 1.1.1 and below the functions were mostly macros.
|
||||
From OpenSSL 3.0 they are all functions.
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
Copyright 2006-2020 The OpenSSL Project Authors. All Rights Reserved.
|
||||
|
Loading…
Reference in New Issue
Block a user