ossl_provider_init_as_child() stores in the library context I<ctx> references to
the necessary upcalls for managing child providers. The I<handle> and I<in>
-parameters are the B<OSSL_CORE_HANDLE> and B<OSSL_DISPATCH> pointers that were
+parameters are the B<OSSL_CORE_HANDLE> and L<OSSL_DISPATCH(3)> pointers that were
passed to the provider's B<OSSL_provider_init> function.
ossl_provider_deinit_child() deregisters callbacks from the parent library
discretion of the I<cipher> implementation.
EVP_ASYM_CIPHER_gettable_ctx_params() and EVP_ASYM_CIPHER_settable_ctx_params()
-return a constant B<OSSL_PARAM> array that describes the names and types of key
+return a constant L<OSSL_PARAM(3)> array that describes the names and types of key
parameters that can be retrieved or set by a key encryption algorithm using
L<EVP_PKEY_CTX_get_params(3)> and L<EVP_PKEY_CTX_set_params(3)>.
names. A return value of 0 means that the callback was not called for any names.
EVP_ASYM_CIPHER_gettable_ctx_params() and EVP_ASYM_CIPHER_settable_ctx_params()
-return a constant B<OSSL_PARAM> array or NULL on error.
+return a constant L<OSSL_PARAM(3)> array or NULL on error.
=head1 SEE ALSO
=item EVP_MD_gettable_params()
-Get a constant B<OSSL_PARAM> array that describes the retrievable parameters
-that can be used with EVP_MD_get_params(). See L<OSSL_PARAM(3)> for the
-use of B<OSSL_PARAM> as a parameter descriptor.
+Get a constant L<OSSL_PARAM(3)> array that describes the retrievable parameters
+that can be used with EVP_MD_get_params().
=item EVP_MD_gettable_ctx_params(), EVP_MD_CTX_gettable_params()
-Get a constant B<OSSL_PARAM> array that describes the retrievable parameters
+Get a constant L<OSSL_PARAM(3)> array that describes the retrievable parameters
that can be used with EVP_MD_CTX_get_params(). EVP_MD_gettable_ctx_params()
returns the parameters that can be retrieved from the algorithm, whereas
EVP_MD_CTX_gettable_params() returns the parameters that can be retrieved
-in the context's current state. See L<OSSL_PARAM(3)> for the use of
-B<OSSL_PARAM> as a parameter descriptor.
+in the context's current state.
=item EVP_MD_settable_ctx_params(), EVP_MD_CTX_settable_params()
-Get a constant B<OSSL_PARAM> array that describes the settable parameters
+Get a constant L<OSSL_PARAM(3)> array that describes the settable parameters
that can be used with EVP_MD_CTX_set_params(). EVP_MD_settable_ctx_params()
returns the parameters that can be set from the algorithm, whereas
EVP_MD_CTX_settable_params() returns the parameters that can be set in the
-context's current state. See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM>
-as a parameter descriptor.
+context's current state.
=item EVP_MD_CTX_set_flags(), EVP_MD_CTX_clear_flags(), EVP_MD_CTX_test_flags()
=item EVP_MD_CTX_settable_params(),
EVP_MD_CTX_gettable_params()
-Return an array of constant B<OSSL_PARAM>s, or NULL if there is none
+Return an array of constant L<OSSL_PARAM(3)>s, or NULL if there is none
to get.
=item EVP_MD_CTX_dup()
=item EVP_CIPHER_gettable_params()
-Get a constant B<OSSL_PARAM> array that describes the retrievable parameters
-that can be used with EVP_CIPHER_get_params(). See L<OSSL_PARAM(3)> for the
-use of B<OSSL_PARAM> as a parameter descriptor.
+Get a constant L<OSSL_PARAM(3)> array that describes the retrievable parameters
+that can be used with EVP_CIPHER_get_params().
=item EVP_CIPHER_gettable_ctx_params() and EVP_CIPHER_CTX_gettable_params()
-Get a constant B<OSSL_PARAM> array that describes the retrievable parameters
+Get a constant L<OSSL_PARAM(3)> array that describes the retrievable parameters
that can be used with EVP_CIPHER_CTX_get_params().
EVP_CIPHER_gettable_ctx_params() returns the parameters that can be retrieved
from the algorithm, whereas EVP_CIPHER_CTX_gettable_params() returns the
parameters that can be retrieved in the context's current state.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as a parameter descriptor.
=item EVP_CIPHER_settable_ctx_params() and EVP_CIPHER_CTX_settable_params()
-Get a constant B<OSSL_PARAM> array that describes the settable parameters
+Get a constant L<OSSL_PARAM(3)> array that describes the settable parameters
that can be used with EVP_CIPHER_CTX_set_params().
EVP_CIPHER_settable_ctx_params() returns the parameters that can be set from the
algorithm, whereas EVP_CIPHER_CTX_settable_params() returns the parameters that
can be set in the context's current state.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as a parameter descriptor.
=item EVP_EncryptInit_ex2()
When EVP_CIPHER_fetch() is called it internally calls EVP_CIPHER_get_params()
and caches the results.
-EVP_CIPHER_get_params() can be used with the following B<OSSL_PARAM> keys:
+EVP_CIPHER_get_params() can be used with the following L<OSSL_PARAM(3)> keys:
=over 4
=head2 Gettable and Settable EVP_CIPHER_CTX parameters
-The following B<OSSL_PARAM> keys can be used with both EVP_CIPHER_CTX_get_params()
+The following L<OSSL_PARAM(3)> keys can be used with both EVP_CIPHER_CTX_get_params()
and EVP_CIPHER_CTX_set_params().
=over 4
=head2 Gettable EVP_CIPHER_CTX parameters
-The following B<OSSL_PARAM> keys can be used with EVP_CIPHER_CTX_get_params():
+The following L<OSSL_PARAM(3)> keys can be used with EVP_CIPHER_CTX_get_params():
=over 4
=head2 Settable EVP_CIPHER_CTX parameters
-The following B<OSSL_PARAM> keys can be used with EVP_CIPHER_CTX_set_params():
+The following L<OSSL_PARAM(3)> keys can be used with EVP_CIPHER_CTX_set_params():
=over 4
Also, what happens when a needed parameter isn't passed down is
defined by the implementation.
-EVP_KDF_gettable_params() returns an B<OSSL_PARAM> array that describes
+EVP_KDF_gettable_params() returns an L<OSSL_PARAM(3)> array that describes
the retrievable and settable parameters. EVP_KDF_gettable_params()
returns parameters that can be used with EVP_KDF_get_params().
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as a parameter descriptor.
EVP_KDF_gettable_ctx_params() and EVP_KDF_CTX_gettable_params()
-return constant B<OSSL_PARAM> arrays that describe the retrievable
+return constant L<OSSL_PARAM(3)> arrays that describe the retrievable
parameters that can be used with EVP_KDF_CTX_get_params().
EVP_KDF_gettable_ctx_params() returns the parameters that can be retrieved
from the algorithm, whereas EVP_KDF_CTX_gettable_params() returns
the parameters that can be retrieved in the context's current state.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as a parameter descriptor.
EVP_KDF_settable_ctx_params() and EVP_KDF_CTX_settable_params() return
-constant B<OSSL_PARAM> arrays that describe the settable parameters that
+constant L<OSSL_PARAM(3)> arrays that describe the settable parameters that
can be used with EVP_KDF_CTX_set_params(). EVP_KDF_settable_ctx_params()
returns the parameters that can be retrieved from the algorithm,
whereas EVP_KDF_CTX_settable_params() returns the parameters that can
-be retrieved in the context's current state. See L<OSSL_PARAM(3)>
-for the use of B<OSSL_PARAM> as a parameter descriptor.
+be retrieved in the context's current state.
=head2 Information functions
the I<kem> implementation.
EVP_KEM_gettable_ctx_params() and EVP_KEM_settable_ctx_params() return
-a constant B<OSSL_PARAM> array that describes the names and types of key
+a constant L<OSSL_PARAM(3)> array that describes the names and types of key
parameters that can be retrieved or set by a key encapsulation algorithm using
L<EVP_PKEY_CTX_get_params(3)> and L<EVP_PKEY_CTX_set_params(3)>.
return value of 0 means that the callback was not called for any names.
EVP_KEM_gettable_ctx_params() and EVP_KEM_settable_ctx_params() return
-a constant B<OSSL_PARAM> array or NULL on error.
+a constant L<OSSL_PARAM(3)> array or NULL on error.
=head1 SEE ALSO
I<data> as arguments.
EVP_KEYEXCH_gettable_ctx_params() and EVP_KEYEXCH_settable_ctx_params() return
-a constant B<OSSL_PARAM> array that describes the names and types of key
+a constant L<OSSL_PARAM(3)> array that describes the names and types of key
parameters that can be retrieved or set by a key exchange algorithm using
L<EVP_PKEY_CTX_get_params(3)> and L<EVP_PKEY_CTX_set_params(3)>.
otherwise 0.
EVP_KEYEXCH_gettable_ctx_params() and EVP_KEYEXCH_settable_ctx_params() return
-a constant B<OSSL_PARAM> array or NULL on error.
+a constant L<OSSL_PARAM(3)> array or NULL on error.
=head1 SEE ALSO
I<data> as arguments.
EVP_KEYMGMT_gettable_params() and EVP_KEYMGMT_settable_params() return a
-constant B<OSSL_PARAM> array that describes the names and types of key
+constant L<OSSL_PARAM(3)> array that describes the names and types of key
parameters that can be retrieved or set.
EVP_KEYMGMT_gettable_params() is used by L<EVP_PKEY_gettable_params(3)>.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as a parameter descriptor.
-EVP_KEYMGMT_gen_settable_params() returns a constant B<OSSL_PARAM> array that
+EVP_KEYMGMT_gen_settable_params() returns a constant L<OSSL_PARAM(3)> array that
describes the names and types of key generation parameters that can be set via
L<EVP_PKEY_CTX_set_params(3)>.
there isn't one.
EVP_KEYMGMT_gettable_params(), EVP_KEYMGMT_settable_params() and
-EVP_KEYMGMT_gen_settable_params() return a constant B<OSSL_PARAM> array or
+EVP_KEYMGMT_gen_settable_params() return a constant L<OSSL_PARAM(3)> array or
NULL on error.
=head1 SEE ALSO
Also, what happens when a needed parameter isn't passed down is
defined by the implementation.
-EVP_MAC_gettable_params() returns an B<OSSL_PARAM> array that describes
+EVP_MAC_gettable_params() returns an L<OSSL_PARAM(3)> array that describes
the retrievable and settable parameters. EVP_MAC_gettable_params()
returns parameters that can be used with EVP_MAC_get_params().
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as a parameter descriptor.
EVP_MAC_gettable_ctx_params() and EVP_MAC_CTX_gettable_params()
-return constant B<OSSL_PARAM> arrays that describe the retrievable
+return constant L<OSSL_PARAM(3)> arrays that describe the retrievable
parameters that can be used with EVP_MAC_CTX_get_params().
EVP_MAC_gettable_ctx_params() returns the parameters that can be retrieved
from the algorithm, whereas EVP_MAC_CTX_gettable_params() returns
the parameters that can be retrieved in the context's current state.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as a parameter descriptor.
EVP_MAC_settable_ctx_params() and EVP_MAC_CTX_settable_params() return
-constant B<OSSL_PARAM> arrays that describe the settable parameters that
+constant L<OSSL_PARAM(3)> arrays that describe the settable parameters that
can be used with EVP_MAC_CTX_set_params(). EVP_MAC_settable_ctx_params()
returns the parameters that can be retrieved from the algorithm,
whereas EVP_MAC_CTX_settable_params() returns the parameters that can
-be retrieved in the context's current state. See L<OSSL_PARAM(3)>
-for the use of B<OSSL_PARAM> as a parameter descriptor.
+be retrieved in the context's current state.
=head2 Information functions
calls these methods internally to interact with providers).
EVP_PKEY_CTX_gettable_params() and EVP_PKEY_CTX_settable_params() get a
-constant B<OSSL_PARAM> array that describes the gettable and
+constant L<OSSL_PARAM(3)> array that describes the gettable and
settable parameters for the current algorithm implementation, i.e. parameters
that can be used with EVP_PKEY_CTX_get_params() and EVP_PKEY_CTX_set_params()
respectively.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter descriptor.
These functions must only be called after the EVP_PKEY_CTX has been initialised
for use in an operation.
=for comment the awful list of links above is made this way so we get nice
rendering as a man-page while still getting proper links in HTML
-EVP_PKEY_fromdata_settable() gets a constant B<OSSL_PARAM> array that describes
+EVP_PKEY_fromdata_settable() gets a constant L<OSSL_PARAM(3)> array that describes
the settable parameters that can be used with EVP_PKEY_fromdata().
I<selection> is described in L</Selections>.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter descriptor.
Parameters in the I<params> array that are not among the settable parameters
for the given I<selection> are ignored.
=head1 DESCRIPTION
+See L<OSSL_PARAM(3)> for information about parameters.
+
EVP_PKEY_get_params() retrieves parameters from the key I<pkey>, according to
the contents of I<params>.
-See L<OSSL_PARAM(3)> for information about parameters.
EVP_PKEY_gettable_params() returns a constant list of I<params> indicating
the names and types of key parameters that can be retrieved.
-See L<OSSL_PARAM(3)> for information about parameters.
-An B<OSSL_PARAM> of type B<OSSL_PARAM_INTEGER> or
+An L<OSSL_PARAM(3)> of type B<OSSL_PARAM_INTEGER> or
B<OSSL_PARAM_UNSIGNED_INTEGER> is of arbitrary length. Such a parameter can be
obtained using any of the functions EVP_PKEY_get_int_param(),
EVP_PKEY_get_size_t_param() or EVP_PKEY_get_bn_param(). Attempting to
=head1 DESCRIPTION
The functions described here are used to extract B<EVP_PKEY> key values as an
-array of B<OSSL_PARAM>.
+array of L<OSSL_PARAM(3)>.
EVP_PKEY_todata() extracts values from a key I<pkey> using the I<selection>.
I<selection> is described in L<EVP_PKEY_fromdata(3)/Selections>.
EVP_PKEY_export() is similar to EVP_PKEY_todata() but uses a callback
I<export_cb> that gets passed the value of I<export_cbarg>.
See L<openssl-core.h(7)> for more information about the callback. Note that the
-B<OSSL_PARAM> array that is passed to the callback is not persistent after the
+L<OSSL_PARAM(3)> array that is passed to the callback is not persistent after the
callback returns. The user must preserve the items of interest, or use
EVP_PKEY_todata() if persistence is required.
Also, what happens when a needed parameter isn't passed down is
defined by the implementation.
-EVP_RAND_gettable_params() returns an B<OSSL_PARAM> array that describes
+EVP_RAND_gettable_params() returns an L<OSSL_PARAM(3)> array that describes
the retrievable and settable parameters. EVP_RAND_gettable_params() returns
-parameters that can be used with EVP_RAND_get_params(). See L<OSSL_PARAM(3)>
-for the use of B<OSSL_PARAM> as a parameter descriptor.
+parameters that can be used with EVP_RAND_get_params().
EVP_RAND_gettable_ctx_params() and EVP_RAND_CTX_gettable_params() return
-constant B<OSSL_PARAM> arrays that describe the retrievable parameters that
+constant L<OSSL_PARAM(3)> arrays that describe the retrievable parameters that
can be used with EVP_RAND_CTX_get_params(). EVP_RAND_gettable_ctx_params()
returns the parameters that can be retrieved from the algorithm, whereas
EVP_RAND_CTX_gettable_params() returns the parameters that can be retrieved
-in the context's current state. See L<OSSL_PARAM(3)> for the use of
-B<OSSL_PARAM> as a parameter descriptor.
+in the context's current state.
EVP_RAND_settable_ctx_params() and EVP_RAND_CTX_settable_params() return
-constant B<OSSL_PARAM> arrays that describe the settable parameters that
+constant L<OSSL_PARAM(3)> arrays that describe the settable parameters that
can be used with EVP_RAND_CTX_set_params(). EVP_RAND_settable_ctx_params()
returns the parameters that can be retrieved from the algorithm, whereas
EVP_RAND_CTX_settable_params() returns the parameters that can be retrieved
-in the context's current state. See L<OSSL_PARAM(3)> for the use of
-B<OSSL_PARAM> as a parameter descriptor.
+in the context's current state.
=head2 Information functions
discretion of the I<signature> implementation.
EVP_SIGNATURE_gettable_ctx_params() and EVP_SIGNATURE_settable_ctx_params()
-return a constant B<OSSL_PARAM> array that describes the names and types of key
+return a constant L<OSSL_PARAM(3)> array that describes the names and types of key
parameters that can be retrieved or set by a signature algorithm using
L<EVP_PKEY_CTX_get_params(3)> and L<EVP_PKEY_CTX_set_params(3)>.
A return value of 0 means that the callback was not called for any names.
EVP_SIGNATURE_gettable_ctx_params() and EVP_SIGNATURE_settable_ctx_params()
-return a constant B<OSSL_PARAM> array or NULL on error.
+return a constant L<OSSL_PARAM(3)> array or NULL on error.
=head1 SEE ALSO
=item B<OSSL_CALLBACK>
This is a generic callback function. When calling this callback function,
-the caller is expected to build an B<OSSL_PARAM> array of data it wants or
+the caller is expected to build an L<OSSL_PARAM(3)> array of data it wants or
is expected to pass back, and pass that as I<params>, as well as the opaque
data pointer it received, as I<arg>.
I<pass_size>. The length of the prompted pass phrase will be given back in
I<*pass_len>.
-Additional parameters can be passed with the B<OSSL_PARAM> array I<params>,
+Additional parameters can be passed with the L<OSSL_PARAM(3)> array I<params>,
=back
and OSSL_DECODER_CTX_set_passphrase_cb() set up a callback method that the
implementation can use to prompt for a pass phrase, giving the caller the
choice of preferred pass phrase callback form. These are called indirectly,
-through an internal B<OSSL_PASSPHRASE_CALLBACK> function.
+through an internal L<OSSL_PASSPHRASE_CALLBACK(3)> function.
-The internal B<OSSL_PASSPHRASE_CALLBACK> function caches the pass phrase, to
+The internal L<OSSL_PASSPHRASE_CALLBACK(3)> function caches the pass phrase, to
be re-used in all decodings that are performed in the same decoding run (for
example, within one L<OSSL_DECODER_from_bio(3)> call).
and OSSL_ENCODER_CTX_set_passphrase_cb() sets up a callback method that the
implementation can use to prompt for a pass phrase, giving the caller the
choice of preferred pass phrase callback form. These are called indirectly,
-through an internal B<OSSL_PASSPHRASE_CALLBACK> function.
+through an internal L<OSSL_PASSPHRASE_CALLBACK(3)> function.
=head2 Output types
The parameter descriptor array comes from functions dedicated to
return them.
-The following B<OSSL_PARAM> attributes are used:
+The following L<OSSL_PARAM(3)> attributes are used:
=over 4
=head1 DESCRIPTION
Algorithm parameters can be exported/imported from/to providers using arrays of
-B<OSSL_PARAM>. The following utility functions allow the parameters to be
-duplicated and merged with other B<OSSL_PARAM> to assist in this process.
+L<OSSL_PARAM(3)>. The following utility functions allow the parameters to be
+duplicated and merged with other L<OSSL_PARAM(3)> to assist in this process.
OSSL_PARAM_dup() duplicates the parameter array I<params>. This function does a
deep copy of the data.
=head1 RETURN VALUES
The functions OSSL_PARAM_dup() and OSSL_PARAM_merge() return a newly allocated
-B<OSSL_PARAM> array, or NULL if there was an error. If both parameters are NULL
+L<OSSL_PARAM(3)> array, or NULL if there was an error. If both parameters are NULL
then NULL is returned.
=head1 SEE ALSO
=head1 DESCRIPTION
A collection of utility functions that simplify and add type safety to the
-B<OSSL_PARAM> arrays. The following B<I<TYPE>> names are supported:
+L<OSSL_PARAM(3)> arrays. The following B<I<TYPE>> names are supported:
=over 1
=back
OSSL_PARAM_TYPE() are a series of macros designed to assist initialising an
-array of B<OSSL_PARAM> structures.
+array of L<OSSL_PARAM(3)> structures.
Each of these macros defines a parameter of the specified B<I<TYPE>> with the
provided I<key> and parameter variable I<address>.
The storage for this parameter is at I<address> and is of I<size> bytes.
OSSL_PARAM_END provides an end of parameter list marker.
-This should terminate all B<OSSL_PARAM> arrays.
+This should terminate all L<OSSL_PARAM(3)> arrays.
The OSSL_PARAM_DEFN() macro provides the ability to construct a single
-B<OSSL_PARAM> (typically used in the construction of B<OSSL_PARAM> arrays). The
+L<OSSL_PARAM(3)> (typically used in the construction of B<OSSL_PARAM> arrays). The
I<key>, I<type>, I<addr> and I<sz> arguments correspond to the I<key>,
-I<data_type>, I<data> and I<data_size> fields of the B<OSSL_PARAM> structure as
+I<data_type>, I<data> and I<data_size> fields of the L<OSSL_PARAM(3)> structure as
described on the L<OSSL_PARAM(3)> page.
-OSSL_PARAM_construct_TYPE() are a series of functions that create B<OSSL_PARAM>
+OSSL_PARAM_construct_TYPE() are a series of functions that create L<OSSL_PARAM(3)>
records dynamically.
A parameter with name I<key> is created.
The parameter will use storage pointed to by I<buf> and return size of I<ret>.
OSSL_PARAM_construct_BN() is a function that constructs a large integer
-B<OSSL_PARAM> structure.
+L<OSSL_PARAM(3)> structure.
A parameter with name I<key>, storage I<buf>, size I<bsize> and return
size I<rsize> is created.
OSSL_PARAM_construct_utf8_string() is a function that constructs a UTF8
-string B<OSSL_PARAM> structure.
+string L<OSSL_PARAM(3)> structure.
A parameter with name I<key>, storage I<buf> and size I<bsize> is created.
If I<bsize> is zero, the string length is determined using strlen(3).
Generally pass zero for I<bsize> instead of calling strlen(3) yourself.
OSSL_PARAM_construct_octet_string() is a function that constructs an OCTET
-string B<OSSL_PARAM> structure.
+string L<OSSL_PARAM(3)> structure.
A parameter with name I<key>, storage I<buf> and size I<bsize> is created.
OSSL_PARAM_construct_utf8_ptr() is a function that constructs a UTF8 string
-pointer B<OSSL_PARAM> structure.
+pointer L<OSSL_PARAM(3)> structure.
A parameter with name I<key>, storage pointer I<*buf> and size I<bsize>
is created.
OSSL_PARAM_construct_octet_ptr() is a function that constructs an OCTET string
-pointer B<OSSL_PARAM> structure.
+pointer L<OSSL_PARAM(3)> structure.
A parameter with name I<key>, storage pointer I<*buf> and size I<bsize>
is created.
OSSL_PARAM_construct_end() is a function that constructs the terminating
-B<OSSL_PARAM> structure.
+L<OSSL_PARAM(3)> structure.
OSSL_PARAM_locate() is a function that searches an I<array> of parameters for
the one matching the I<key> name.
OSSL_PARAM_construct_TYPE(), OSSL_PARAM_construct_BN(),
OSSL_PARAM_construct_utf8_string(), OSSL_PARAM_construct_octet_string(),
OSSL_PARAM_construct_utf8_ptr() and OSSL_PARAM_construct_octet_ptr()
-return a populated B<OSSL_PARAM> structure.
+return a populated L<OSSL_PARAM(3)> structure.
OSSL_PARAM_locate() and OSSL_PARAM_locate_const() return a pointer to
-the matching B<OSSL_PARAM> object. They return NULL on error or when
+the matching L<OSSL_PARAM(3)> object. They return NULL on error or when
no object matching I<key> exists in the I<array>.
OSSL_PARAM_modified() returns 1 if the parameter was set and 0 otherwise.
OSSL_PARAM_get_BN() and OSSL_PARAM_set_BN() only support nonnegative
B<BIGNUM>s when the desired data type is B<OSSL_PARAM_UNSIGNED_INTEGER>.
-OSSL_PARAM_construct_BN() currently constructs an B<OSSL_PARAM> structure
+OSSL_PARAM_construct_BN() currently constructs an L<OSSL_PARAM(3)> structure
with the data type B<OSSL_PARAM_UNSIGNED_INTEGER>.
For OSSL_PARAM_construct_utf8_ptr() and OSSL_PARAM_consstruct_octet_ptr(),
-I<bsize> is not relevant if the purpose is to send the B<OSSL_PARAM> array
+I<bsize> is not relevant if the purpose is to send the L<OSSL_PARAM(3)> array
to a I<responder>, i.e. to get parameter data back.
In that case, I<bsize> can safely be given zero.
See L<OSSL_PARAM(3)/DESCRIPTION> for further information on the
=head1 EXAMPLES
Reusing the examples from L<OSSL_PARAM(3)> to just show how
-B<OSSL_PARAM> arrays can be handled using the macros and functions
+L<OSSL_PARAM(3)> arrays can be handled using the macros and functions
defined herein.
=head2 Example 1
behaviour.
OSSL_PROVIDER_gettable_params() is used to get a provider parameter
-descriptor set as a constant B<OSSL_PARAM> array.
-See L<OSSL_PARAM(3)> for more information.
+descriptor set as a constant L<OSSL_PARAM(3)> array.
OSSL_PROVIDER_get_params() is used to get provider parameter values.
-The caller must prepare the B<OSSL_PARAM> array before calling this
+The caller must prepare the L<OSSL_PARAM(3)> array before calling this
function, and the variables acting as buffers for this parameter array
should be filled with data when it returns successfully.
OSSL_PROVIDER_get_capabilities() provides information about the capabilities
supported by the provider specified in I<prov> with the capability name
I<capability>. For each capability of that name supported by the provider it
-will call the callback I<cb> and supply a set of B<OSSL_PARAM>s describing the
+will call the callback I<cb> and supply a set of L<OSSL_PARAM(3)>s describing the
capability. It will also pass back the argument I<arg>. For more details about
capabilities and what they can be used for please see
L<provider-base(7)/CAPABILTIIES>.
otherwise 0.
OSSL_PROVIDER_gettable_params() returns a pointer to an array
-of constant B<OSSL_PARAM>, or NULL if none is provided.
+of constant L<OSSL_PARAM(3)>, or NULL if none is provided.
OSSL_PROVIDER_get_params() and returns 1 on success, or 0 on error.
OSSL_SELF_TEST_onbegin() may be inserted at the start of a block of self test
code. It can be used for diagnostic purposes.
If this method is called the callback I<cb> will receive the following
-B<OSSL_PARAM> object.
+L<OSSL_PARAM(3)> object.
=over 4
The I<type> and I<desc> can be used to identify an individual self test to
target for failure testing.
If this method is called the callback I<cb> will receive the following
-B<OSSL_PARAM> object.
+L<OSSL_PARAM(3)> object.
=over 4
just before cleanup to indicate if the test passed or failed. It can be used for
diagnostic purposes.
If this method is called the callback I<cb> will receive the following
-B<OSSL_PARAM> object.
+L<OSSL_PARAM(3)> object.
=over 4
OSSL_SELF_TEST_onbegin() for I<type> and I<desc> are set to the value "None".
If OSSL_SELF_TEST_onbegin(), OSSL_SELF_TEST_oncorrupt_byte() or
-OSSL_SELF_TEST_onend() is called the following additional B<OSSL_PARAM> are
+OSSL_SELF_TEST_onend() is called the following additional L<OSSL_PARAM(3)> are
passed to the callback.
=over 4
Set or gets the optional application callback (and the callback argument) that
is called during self testing.
-The application callback B<OSSL_CALLBACK> is associated with a B<OSSL_LIB_CTX>.
+The application callback L<OSSL_CALLBACK(3)> is associated with a B<OSSL_LIB_CTX>.
The application callback function receives information about a running self test,
and may return a result to the calling self test.
See L<openssl-core.h(7)> for further information on the callback.
The given I<ui_method> and I<ui_data> will be reused by all
functions that use B<OSSL_STORE_CTX> when interaction is needed,
for instance to provide a password.
-The auxiliary B<OSSL_PARAM> parameters in I<params> can be set to further
+The auxiliary L<OSSL_PARAM(3)> parameters in I<params> can be set to further
modify the store operation.
The given I<post_process> and I<post_process_data> will be reused by
OSSL_STORE_load() to manipulate or drop the value to be returned.
example for a digest operation you would use an B<EVP_MD_CTX>, and for an
encryption/decryption operation you would use an B<EVP_CIPHER_CTX>. The
operation is then initialised ready for use via an "init" function - optionally
-passing in a set of parameters (using the B<OSSL_PARAM> type) to configure how
+passing in a set of parameters (using the L<OSSL_PARAM(3)> type) to configure how
the operation should behave. Next data is fed into the operation in a series of
"update" calls. The operation is finalised using a "final" call which will
typically provide some kind of output. Finally the context is cleaned up and
Implicit and Explicit Fetching is described in detail here
L<crypto(7)/ALGORITHM FETCHING>.
-=head3 Mapping EVP controls and flags to provider B<OSSL_PARAM> parameters
+=head3 Mapping EVP controls and flags to provider L<OSSL_PARAM(3)> parameters
The existing functions for controls (such as L<EVP_CIPHER_CTX_ctrl(3)>) and
manipulating flags (such as L<EVP_MD_CTX_set_flags(3)>)internally use
ECDH_KDF_X9_62()
Applications may either set this using the helper function
-L<EVP_PKEY_CTX_set_ecdh_kdf_type(3)> or by setting an B<OSSL_PARAM> using the
+L<EVP_PKEY_CTX_set_ecdh_kdf_type(3)> or by setting an L<OSSL_PARAM(3)> using the
"kdf-type" as shown in L<EVP_KEYEXCH-ECDH(7)/EXAMPLES>
=item *
other related functions).
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_asym_cipher_newctx() has these:
static ossl_inline OSSL_FUNC_asym_cipher_newctx_fn
OSSL_FUNC_asym_cipher_newctx(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_asym_cipher_newctx OSSL_FUNC_ASYM_CIPHER_NEWCTX
=back
OSSL_FUNC_asym_cipher_gettable_ctx_params() and OSSL_FUNC_asym_cipher_settable_ctx_params()
-get a constant B<OSSL_PARAM> array that describes the gettable and settable
+get a constant L<OSSL_PARAM(3)> array that describes the gettable and settable
parameters, i.e. parameters that can be used with OSSL_FUNC_asym_cipherget_ctx_params()
and OSSL_FUNC_asym_cipher_set_ctx_params() respectively.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter descriptor.
=head1 RETURN VALUES
=head1 DESCRIPTION
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays, in the call
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays, in the call
of the provider initialization function. See L<provider(7)/Provider>
for a description of the initialization function. They are known as "upcalls".
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from a B<OSSL_DISPATCH> element named
+function pointer from a L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" core_gettable_params() has these:
static ossl_inline OSSL_NAME_core_gettable_params_fn
OSSL_FUNC_core_gettable_params(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
-For I<in> (the B<OSSL_DISPATCH> array passed from F<libcrypto> to the
+For I<in> (the L<OSSL_DISPATCH(3)> array passed from F<libcrypto> to the
provider):
core_gettable_params OSSL_FUNC_CORE_GETTABLE_PARAMS
provider_up_ref OSSL_FUNC_PROVIDER_UP_REF
provider_free OSSL_FUNC_PROVIDER_FREE
-For I<*out> (the B<OSSL_DISPATCH> array passed from the provider to
+For I<*out> (the L<OSSL_DISPATCH(3)> array passed from the provider to
F<libcrypto>):
provider_teardown OSSL_FUNC_PROVIDER_TEARDOWN
=head2 Core functions
core_gettable_params() returns a constant array of descriptor
-B<OSSL_PARAM>, for parameters that core_get_params() can handle.
+L<OSSL_PARAM(3)>, for parameters that core_get_params() can handle.
core_get_params() retrieves parameters from the core for the given I<handle>.
See L</Core parameters> below for a description of currently known
BIO_free(), BIO_vprintf(), BIO_vsnprintf(), BIO_gets(), BIO_puts(),
BIO_ctrl(), OPENSSL_cleanse() and
OPENSSL_hexstr2buf() correspond exactly to the public functions with
-the same name. As a matter of fact, the pointers in the B<OSSL_DISPATCH>
+the same name. As a matter of fact, the pointers in the L<OSSL_DISPATCH(3)>
array are typically direct pointers to those public functions. Note that the BIO
functions take an B<OSSL_CORE_BIO> type rather than the standard B<BIO>
type. This is to ensure that a provider does not mix BIOs from the core
It must free the passed I<provctx>.
provider_gettable_params() should return a constant array of
-descriptor B<OSSL_PARAM>, for parameters that provider_get_params()
+descriptor L<OSSL_PARAM(3)>, for parameters that provider_get_params()
can handle.
-provider_get_params() should process the B<OSSL_PARAM> array
+provider_get_params() should process the L<OSSL_PARAM(3)> array
I<params>, setting the values of the parameters it understands.
-provider_query_operation() should return a constant B<OSSL_ALGORITHM>
+provider_query_operation() should return a constant L<OSSL_ALGORITHM(3)>
that corresponds to the given I<operation_id>.
It should indicate if the core may store a reference to this array by
setting I<*no_store> to 0 (core may store a reference) or 1 (core may
pointers have been copied. The I<operation_id> should match that passed to
provider_query_operation() and I<algs> should be its return value.
-provider_get_reason_strings() should return a constant B<OSSL_ITEM>
+provider_get_reason_strings() should return a constant L<OSSL_ITEM(3)>
array that provides reason strings for reason codes the provider may
use when reporting errors using core_put_error().
The provider_get_capabilities() function should call the callback I<cb> passing
-it a set of B<OSSL_PARAM>s and the caller supplied argument I<arg>. The
-B<OSSL_PARAM>s should provide details about the capability with the name given
+it a set of L<OSSL_PARAM(3)>s and the caller supplied argument I<arg>. The
+L<OSSL_PARAM(3)>s should provide details about the capability with the name given
in the I<capability> argument relevant for the provider context I<provctx>. If a
provider supports multiple capabilities with the given name then it may call the
callback multiple times (one for each capability). Capabilities can be useful for
equivalents and other related functions).
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_cipher_newctx() has these:
static ossl_inline OSSL_FUNC_cipher_newctx_fn
OSSL_FUNC_cipher_newctx(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_cipher_newctx OSSL_FUNC_CIPHER_NEWCTX
Passing NULL for I<params> should return true.
OSSL_FUNC_cipher_gettable_params(), OSSL_FUNC_cipher_gettable_ctx_params(),
-and OSSL_FUNC_cipher_settable_ctx_params() all return constant B<OSSL_PARAM>
+and OSSL_FUNC_cipher_settable_ctx_params() all return constant L<OSSL_PARAM(3)>
arrays as descriptors of the parameters that OSSL_FUNC_cipher_get_params(),
OSSL_FUNC_cipher_get_ctx_params(), and OSSL_FUNC_cipher_set_ctx_params()
can handle, respectively. OSSL_FUNC_cipher_gettable_ctx_params() and
success or 0 on error.
OSSL_FUNC_cipher_gettable_params(), OSSL_FUNC_cipher_gettable_ctx_params() and
-OSSL_FUNC_cipher_settable_ctx_params() should return a constant B<OSSL_PARAM>
+OSSL_FUNC_cipher_settable_ctx_params() should return a constant L<OSSL_PARAM(3)>
array, or NULL if none is offered.
=head1 SEE ALSO
read from the given B<OSSL_CORE_BIO>. If the caller wants to decode
data from memory, it should provide a L<BIO_s_mem(3)> B<BIO>. The decoded
data or object reference is passed along with eventual metadata
-to the I<metadata_cb> as B<OSSL_PARAM> parameters.
+to the I<metadata_cb> as L<OSSL_PARAM(3)> parameters.
The decoder doesn't need to know more about the B<OSSL_CORE_BIO>
pointer than being able to pass it to the appropriate BIO upcalls (see
can be called as the final step of the decoding process.
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_decoder_decode() has these:
static ossl_inline OSSL_FUNC_decoder_decode_fn
OSSL_FUNC_decoder_decode(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_decoder_get_params OSSL_FUNC_DECODER_GET_PARAMS
ignored.
Passing NULL for I<params> should return true.
-OSSL_FUNC_decoder_settable_ctx_params() returns a constant B<OSSL_PARAM>
+OSSL_FUNC_decoder_settable_ctx_params() returns a constant L<OSSL_PARAM(3)>
array describing the parameters that OSSL_FUNC_decoder_set_ctx_params()
can handle.
supports the type of the object and provides an import function.
OSSL_FUNC_decoder_export_object() should export the object of size I<objref_sz>
-referenced by I<objref> as an B<OSSL_PARAM> array and pass that into the
+referenced by I<objref> as an L<OSSL_PARAM(3)> array and pass that into the
I<export_cb> as well as the given I<export_cbarg>.
=head2 Decoding functions
OSSL_FUNC_decoder_decode() should decode the data as read from
the B<OSSL_CORE_BIO> I<in> to produce decoded data or an object to be
-passed as reference in an B<OSSL_PARAM> array along with possible other
-metadata that was decoded from the input. This B<OSSL_PARAM> array is
+passed as reference in an L<OSSL_PARAM(3)> array along with possible other
+metadata that was decoded from the input. This L<OSSL_PARAM(3)> array is
then passed to the I<data_cb> callback. The I<selection> bits,
if relevant, should determine what the input data should contain.
-The decoding functions also take an B<OSSL_PASSPHRASE_CALLBACK> function
+The decoding functions also take an L<OSSL_PASSPHRASE_CALLBACK(3)> function
pointer along with a pointer to application data I<cbarg>, which should be
used when a pass phrase prompt is needed.
parameter was invalid or caused an error, for which 0 is returned.
OSSL_FUNC_decoder_settable_ctx_params() returns a pointer to an array of
-constant B<OSSL_PARAM> elements.
+constant L<OSSL_PARAM(3)> elements.
OSSL_FUNC_decoder_does_selection() returns 1 if the decoder implementation
supports any of the I<selection> bits, otherwise 0.
L<EVP_DigestUpdate(3)> and L<EVP_DigestFinal(3)> (and other related functions).
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_digest_newctx() has these:
static ossl_inline OSSL_FUNC_digest_newctx_fn
OSSL_FUNC_digest_newctx(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_digest_newctx OSSL_FUNC_DIGEST_NEWCTX
the given provider side digest context I<dctx> and stores them in I<params>.
Passing NULL for I<params> should return true.
-OSSL_FUNC_digest_gettable_params() returns a constant B<OSSL_PARAM> array
+OSSL_FUNC_digest_gettable_params() returns a constant L<OSSL_PARAM(3)> array
containing descriptors of the parameters that OSSL_FUNC_digest_get_params()
can handle.
OSSL_FUNC_digest_gettable_ctx_params() and
OSSL_FUNC_digest_settable_ctx_params() both return constant
-B<OSSL_PARAM> arrays as descriptors of the parameters that
+L<OSSL_PARAM(3)> arrays as descriptors of the parameters that
OSSL_FUNC_digest_get_ctx_params() and OSSL_FUNC_digest_set_ctx_params()
can handle, respectively. The array is based on the current state of
the provider side context if I<dctx> is not NULL and on the provider
with the L<KEYMGMT|provider-keymgmt(7)> provider.
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_encoder_encode() has these:
static ossl_inline OSSL_FUNC_encoder_encode_fn
OSSL_FUNC_encoder_encode(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_encoder_get_params OSSL_FUNC_ENCODER_GET_PARAMS
ignored.
Passing NULL for I<params> should return true.
-OSSL_FUNC_encoder_settable_ctx_params() returns a constant B<OSSL_PARAM>
+OSSL_FUNC_encoder_settable_ctx_params() returns a constant L<OSSL_PARAM(3)>
array describing the parameters that OSSL_FUNC_encoder_set_ctx_params()
can handle.
I<obj_raw>) or an object abstraction (in I<obj_abstract>), and should output
the object in encoded form to the B<OSSL_CORE_BIO>. The I<selection> bits,
if relevant, should determine in greater detail what will be output.
-The encoding functions also take an B<OSSL_PASSPHRASE_CALLBACK> function
+The encoding functions also take an L<OSSL_PASSPHRASE_CALLBACK(3)> function
pointer along with a pointer to application data I<cbarg>, which should be
used when a pass phrase prompt is needed.
parameter was invalid or caused an error, for which 0 is returned.
OSSL_FUNC_encoder_settable_ctx_params() returns a pointer to an array of
-constant B<OSSL_PARAM> elements.
+constant L<OSSL_PARAM(3)> elements.
OSSL_FUNC_encoder_does_selection() returns 1 if the encoder implementation
supports any of the I<selection> bits, otherwise 0.
and L<EVP_KDF_derive(3)>.
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_kdf_newctx() has these:
static ossl_inline OSSL_FUNC_kdf_newctx_fn
OSSL_FUNC_kdf_newctx(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> array entries are identified by numbers that are provided as
+L<OSSL_DISPATCH(3)> array entries are identified by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_kdf_newctx OSSL_FUNC_KDF_NEWCTX
Passing NULL for I<params> should return true.
OSSL_FUNC_kdf_gettable_params(), OSSL_FUNC_kdf_gettable_ctx_params(),
-and OSSL_FUNC_kdf_settable_ctx_params() all return constant B<OSSL_PARAM>
+and OSSL_FUNC_kdf_settable_ctx_params() all return constant L<OSSL_PARAM(3)>
arrays as descriptors of the parameters that OSSL_FUNC_kdf_get_params(),
OSSL_FUNC_kdf_get_ctx_params(), and OSSL_FUNC_kdf_set_ctx_params()
can handle, respectively. OSSL_FUNC_kdf_gettable_ctx_params() and
success or 0 on error.
OSSL_FUNC_kdf_gettable_params(), OSSL_FUNC_kdf_gettable_ctx_params() and
-OSSL_FUNC_kdf_settable_ctx_params() should return a constant B<OSSL_PARAM>
+OSSL_FUNC_kdf_settable_ctx_params() should return a constant L<OSSL_PARAM(3)>
array, or NULL if none is offered.
=head1 NOTES
L<EVP_PKEY_decapsulate(3)> and other related functions.
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_kem_newctx() has these:
static ossl_inline OSSL_FUNC_kem_newctx_fn
OSSL_FUNC_kem_newctx(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_kem_newctx OSSL_FUNC_KEM_NEWCTX
No parameters are currently recognised by built-in asymmetric kem algorithms.
OSSL_FUNC_kem_gettable_ctx_params() and OSSL_FUNC_kem_settable_ctx_params()
-get a constant B<OSSL_PARAM> array that describes the gettable and settable
+get a constant L<OSSL_PARAM(3)> array that describes the gettable and settable
parameters, i.e. parameters that can be used with OSSL_FUNC_kem_get_ctx_params()
and OSSL_FUNC_kem_set_ctx_params() respectively.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter descriptor.
=head1 RETURN VALUES
other related functions).
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_keyexch_newctx() has these:
static ossl_inline OSSL_FUNC_keyexch_newctx_fn
OSSL_FUNC_keyexch_newctx(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_keyexch_newctx OSSL_FUNC_KEYEXCH_NEWCTX
see L</Common Key Exchange parameters>.
Passing NULL for I<params> should return true.
-OSSL_FUNC_keyexch_settable_ctx_params() yields a constant B<OSSL_PARAM> array that
+OSSL_FUNC_keyexch_settable_ctx_params() yields a constant L<OSSL_PARAM(3)> array that
describes the settable parameters, i.e. parameters that can be used with
OP_signature_set_ctx_params().
If OSSL_FUNC_keyexch_settable_ctx_params() is present, OSSL_FUNC_keyexch_set_ctx_params() must
also be present, and vice versa.
-Similarly, OSSL_FUNC_keyexch_gettable_ctx_params() yields a constant B<OSSL_PARAM>
+Similarly, OSSL_FUNC_keyexch_gettable_ctx_params() yields a constant L<OSSL_PARAM(3)>
array that describes the gettable parameters, i.e. parameters that can be
handled by OP_signature_get_ctx_params().
If OSSL_FUNC_keyexch_gettable_ctx_params() is present, OSSL_FUNC_keyexch_get_ctx_params() must
also be present, and vice versa.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter descriptor.
Notice that not all settable parameters are also gettable, and vice versa.
or 0 on error.
OSSL_FUNC_keyexch_settable_ctx_params() and OSSL_FUNC_keyexch_gettable_ctx_params() should
-always return a constant B<OSSL_PARAM> array.
+always return a constant L<OSSL_PARAM(3)> array.
=head1 SEE ALSO
provider side key data for the OpenSSL library EVP_PKEY structure.
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from a B<OSSL_DISPATCH> element named
+function pointer from a L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_keymgmt_new() has these:
static ossl_inline OSSL_FUNC_keymgmt_new_fn
OSSL_FUNC_keymgmt_new(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_keymgmt_new OSSL_FUNC_KEYMGMT_NEW
I<params> in the key object generation context I<genctx>.
OSSL_FUNC_keymgmt_gen_settable_params() should return a constant array of
-descriptor B<OSSL_PARAM>, for parameters that OSSL_FUNC_keymgmt_gen_set_params()
+descriptor L<OSSL_PARAM(3)>, for parameters that OSSL_FUNC_keymgmt_gen_set_params()
can handle.
OSSL_FUNC_keymgmt_gen() should perform the key object generation itself, and
with the given I<keydata>, see L</Common Information Parameters>.
OSSL_FUNC_keymgmt_gettable_params() should return a constant array of
-descriptor B<OSSL_PARAM>, for parameters that OSSL_FUNC_keymgmt_get_params()
+descriptor L<OSSL_PARAM(3)>, for parameters that OSSL_FUNC_keymgmt_get_params()
can handle.
If OSSL_FUNC_keymgmt_gettable_params() is present, OSSL_FUNC_keymgmt_get_params()
with the given I<keydata>, see L</Common Information Parameters>.
OSSL_FUNC_keymgmt_settable_params() should return a constant array of
-descriptor B<OSSL_PARAM>, for parameters that OSSL_FUNC_keymgmt_set_params()
+descriptor L<OSSL_PARAM(3)>, for parameters that OSSL_FUNC_keymgmt_set_params()
can handle.
If OSSL_FUNC_keymgmt_settable_params() is present, OSSL_FUNC_keymgmt_set_params()
=head2 Key Object Import, Export and Duplication Functions
OSSL_FUNC_keymgmt_import() should import data indicated by I<selection> into
-I<keydata> with values taken from the B<OSSL_PARAM> array I<params>.
+I<keydata> with values taken from the L<OSSL_PARAM(3)> array I<params>.
OSSL_FUNC_keymgmt_export() should extract values indicated by I<selection>
-from I<keydata>, create an B<OSSL_PARAM> array with them and call
+from I<keydata>, create an L<OSSL_PARAM(3)> array with them and call
I<param_cb> with that array as well as the given I<cbarg>.
OSSL_FUNC_keymgmt_import_types() should return a constant array of descriptor
-B<OSSL_PARAM> for data indicated by I<selection>, for parameters that
+L<OSSL_PARAM(3)> for data indicated by I<selection>, for parameters that
OSSL_FUNC_keymgmt_import() can handle.
OSSL_FUNC_keymgmt_export_types() should return a constant array of descriptor
-B<OSSL_PARAM> for data indicated by I<selection>, that the
+L<OSSL_PARAM(3)> for data indicated by I<selection>, that the
OSSL_FUNC_keymgmt_export() callback can expect to receive.
OSSL_FUNC_keymgmt_dup() should duplicate data subsets indicated by
OSSL_FUNC_keymgmt_gettable_params() and OSSL_FUNC_keymgmt_settable_params()
OSSL_FUNC_keymgmt_import_types(), OSSL_FUNC_keymgmt_export_types()
should
-always return a constant B<OSSL_PARAM> array.
+always return a constant L<OSSL_PARAM(3)> array.
=head1 SEE ALSO
L<EVP_MAC_update(3)> and L<EVP_MAC_final(3)>.
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_mac_newctx() has these:
static ossl_inline OSSL_FUNC_mac_newctx_fn
OSSL_FUNC_mac_newctx(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_mac_newctx OSSL_FUNC_MAC_NEWCTX
Passing NULL for I<params> should return true.
OSSL_FUNC_mac_gettable_params(), OSSL_FUNC_mac_gettable_ctx_params(),
-and OSSL_FUNC_mac_settable_ctx_params() all return constant B<OSSL_PARAM>
+and OSSL_FUNC_mac_settable_ctx_params() all return constant L<OSSL_PARAM(3)>
arrays as descriptors of the parameters that OSSL_FUNC_mac_get_params(),
OSSL_FUNC_mac_get_ctx_params(), and OSSL_FUNC_mac_set_ctx_params()
can handle, respectively. OSSL_FUNC_mac_gettable_ctx_params() and
success or 0 on error.
OSSL_FUNC_mac_gettable_params(), OSSL_FUNC_mac_gettable_ctx_params() and
-OSSL_FUNC_mac_settable_ctx_params() should return a constant B<OSSL_PARAM>
+OSSL_FUNC_mac_settable_ctx_params() should return a constant L<OSSL_PARAM(3)>
array, or NULL if none is offered.
=head1 SEE ALSO
Passing NULL for I<params> should return true.
OSSL_FUNC_rand_gettable_params(), OSSL_FUNC_rand_gettable_ctx_params(),
-and OSSL_FUNC_rand_settable_ctx_params() all return constant B<OSSL_PARAM>
+and OSSL_FUNC_rand_settable_ctx_params() all return constant L<OSSL_PARAM(3)>
arrays as descriptors of the parameters that OSSL_FUNC_rand_get_params(),
OSSL_FUNC_rand_get_ctx_params(), and OSSL_FUNC_rand_set_ctx_params()
can handle, respectively. OSSL_FUNC_rand_gettable_ctx_params()
provider side rand context, or NULL on failure.
OSSL_FUNC_rand_gettable_params(), OSSL_FUNC_rand_gettable_ctx_params() and
-OSSL_FUNC_rand_settable_ctx_params() should return a constant B<OSSL_PARAM>
+OSSL_FUNC_rand_settable_ctx_params() should return a constant L<OSSL_PARAM(3)>
array, or NULL if none is offered.
OSSL_FUNC_rand_nonce() returns the size of the generated nonce, or 0 on error.
as other related functions).
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition
named B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the
-function pointer from an B<OSSL_DISPATCH> element named
+function pointer from an L<OSSL_DISPATCH(3)> element named
B<OSSL_FUNC_{name}>.
For example, the "function" OSSL_FUNC_signature_newctx() has these:
static ossl_inline OSSL_FUNC_signature_newctx_fn
OSSL_FUNC_signature_newctx(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as
macros in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_signature_newctx OSSL_FUNC_SIGNATURE_NEWCTX
=back
OSSL_FUNC_signature_gettable_ctx_params() and OSSL_FUNC_signature_settable_ctx_params() get a
-constant B<OSSL_PARAM> array that describes the gettable and settable parameters,
+constant L<OSSL_PARAM(3)> array that describes the gettable and settable parameters,
i.e. parameters that can be used with OSSL_FUNC_signature_get_ctx_params() and
OSSL_FUNC_signature_set_ctx_params() respectively.
-See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter descriptor.
=head2 MD parameters
L<provider-digest(7)/Digest Parameters> for further information.
OSSL_FUNC_signature_gettable_md_ctx_params() and OSSL_FUNC_signature_settable_md_ctx_params()
-get a constant B<OSSL_PARAM> array that describes the gettable and settable
+get a constant L<OSSL_PARAM(3)> array that describes the gettable and settable
digest parameters, i.e. parameters that can be used with
OSSL_FUNC_signature_get_md_ctx_params() and OSSL_FUNC_signature_set_md_ctx_params()
-respectively. See L<OSSL_PARAM(3)> for the use of B<OSSL_PARAM> as parameter
-descriptor.
+respectively.
=head1 RETURN VALUES
OSSL_FUNC_signature_gettable_ctx_params(), OSSL_FUNC_signature_settable_ctx_params(),
OSSL_FUNC_signature_gettable_md_ctx_params() and OSSL_FUNC_signature_settable_md_ctx_params(),
-return the gettable or settable parameters in a constant B<OSSL_PARAM> array.
+return the gettable or settable parameters in a constant L<OSSL_PARAM(3)> array.
All other functions should return 1 for success or 0 on error.
form).
All "functions" mentioned here are passed as function pointers between
-F<libcrypto> and the provider in B<OSSL_DISPATCH> arrays via
-B<OSSL_ALGORITHM> arrays that are returned by the provider's
+F<libcrypto> and the provider in L<OSSL_DISPATCH(3)> arrays via
+L<OSSL_ALGORITHM(3)> arrays that are returned by the provider's
provider_query_operation() function
(see L<provider-base(7)/Provider Functions>).
All these "functions" have a corresponding function type definition named
B<OSSL_FUNC_{name}_fn>, and a helper function to retrieve the function pointer
-from a B<OSSL_DISPATCH> element named B<OSSL_get_{name}>.
+from a L<OSSL_DISPATCH(3)> element named B<OSSL_get_{name}>.
For example, the "function" OSSL_FUNC_store_attach() has these:
typedef void *(OSSL_FUNC_store_attach_fn)(void *provctx,
static ossl_inline OSSL_FUNC_store_attach_fn
OSSL_FUNC_store_attach(const OSSL_DISPATCH *opf);
-B<OSSL_DISPATCH> arrays are indexed by numbers that are provided as macros
+L<OSSL_DISPATCH(3)> arrays are indexed by numbers that are provided as macros
in L<openssl-core_dispatch.h(7)>, as follows:
OSSL_FUNC_store_open OSSL_FUNC_STORE_OPEN
supporting L<OSSL_STORE_attach(3)>.
OSSL_FUNC_store_settable_ctx_params() should return a constant array of
-descriptor B<OSSL_PARAM>, for parameters that OSSL_FUNC_store_set_ctx_params()
+descriptor L<OSSL_PARAM(3)>, for parameters that OSSL_FUNC_store_set_ctx_params()
can handle.
OSSL_FUNC_store_set_ctx_params() should set additional parameters, such as what
supports the type of the object and provides an import function.
OSSL_FUNC_store_export_object() should export the object of size I<objref_sz>
-referenced by I<objref> as an B<OSSL_PARAM> array and pass that to the
+referenced by I<objref> as an L<OSSL_PARAM(3)> array and pass that to the
I<export_cb> as well as the given I<export_cbarg>.
=head2 Load Parameters
=head2 Provider
A I<provider> offers an initialization function, as a set of base
-functions in the form of an B<OSSL_DISPATCH> array, and by extension,
-a set of B<OSSL_ALGORITHM>s (see L<openssl-core.h(7)>).
+functions in the form of an L<OSSL_DISPATCH(3)> array, and by extension,
+a set of L<OSSL_ALGORITHM(3)>s (see L<openssl-core.h(7)>).
It may be a dynamically loadable module, or may be built-in, in
OpenSSL libraries or in the application.
If it's a dynamically loadable module, the initialization function
reference to the returned data in their internal store of
implementations.
-The returned B<OSSL_ALGORITHM> is the foundation of any OpenSSL
+The returned L<OSSL_ALGORITHM(3)> is the foundation of any OpenSSL
library API that uses providers for their implementation, most
commonly in the I<fetching> type of functions
(see L<crypto(7)/ALGORITHM FETCHING>).