Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45)
Standard preamble:
========================================================================
..
.... \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
. ds C` "" . ds C' "" 'br\} . ds C` . ds C' 'br\}
Escape single quotes in literal strings from groff's Unicode transform.
If the F register is >0, we'll generate index entries on stderr for
titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
entries marked with X<> in POD. Of course, you'll have to process the
output yourself in some meaningful fashion.
Avoid warning from groff about undefined register 'F'.
.. .nr rF 0 . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF ========================================================================
Title "EVP_SKEY 3ossl"
way too many mistakes in technical documents.
Conceptually, an EVP_SKEY internal key may hold a symmetric key, and along with those, key parameters if the key type requires them.
The EVP_SKEY_generate() functions creates a new EVP_SKEY object and initializes it according to the params argument.
The EVP_SKEY_import() function allocates an empty EVP_SKEY structure which is used by OpenSSL to store symmetric keys, assigns the \fBEVP_SKEYMGMT object associated with the key, and initializes the object from the params argument.
The EVP_SKEY_import_raw_key() function is a helper that creates an EVP_SKEY object containing the raw byte representation of the symmetric keys.
The EVP_SKEY_export() function extracts values from a key skey using the \fIselection. selection is described below. It uses a callback export_cb that gets passed the value of export_cbarg. See openssl-core.h\|(7) for more information about the callback. Note that the OSSL_PARAM\|(3) array that is passed to the callback is not persistent after the callback returns.
The EVP_SKEY_get0_raw_key() returns a pointer to a raw key bytes to the passed address and sets the key len. The returned address is managed by the internal key management and shouldn't be freed explicitly. The operation can fail when the underlying key management doesn't support export of the secret key.
The EVP_SKEY_get0_key_id() returns a NUL-terminated string providing some human-readable identifier of the key if provided by the underlying key management. The pointer becomes invalid after freeing the EVP_SKEY object.
The EVP_SKEY_get0_skeymgmt_name() and EVP_SKEY_get0_provider_name() return the names of the associated EVP_SKEYMGMT object and its provider correspondingly.
\fBEVP_SKEY_up_ref() increments the reference count of key.
\fBEVP_SKEY_free() decrements the reference count of key and, if the reference count is zero, frees it. If key is NULL, nothing is done.
\fBEVP_SKEY_is_a() checks if the key type of skey is name.
\fBEVP_SKEY_to_provider() simplifies the task of importing a skey into a different provider identified by prov. If prov is NULL, the default provider for the key type identified via skey is used.
The EVP_SKEY_to_provider() function will fail and return NULL if the origin key skey cannot be exported from its provider.
\fBEVP_SKEY_get0_key_id() returns either a valid pointer or NULL.
\fBEVP_SKEY_up_ref() returns 1 for success and 0 on failure.
\fBEVP_SKEY_export() and EVP_SKEY_get0_raw_key() return 1 for success and 0 on failure.
\fBEVP_SKEY_get0_skeymgmt_name() and EVP_SKEY_get0_provider_name() return the names of the associated EVP_SKEYMGMT object and its provider correspondigly.
\fBEVP_SKEY_is_a() returns 1 if skey has the key type name, otherwise 0.
\fBEVP_SKEY_to_provider() returns a new EVP_SKEY suitable for operations with the prov provider or NULL in case of failure.
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 <https://www.openssl.org/source/license.html>.