diff options
author | Richard Levitte <levitte@openssl.org> | 2019-07-13 07:02:54 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-07-23 06:34:09 +0200 |
commit | c540f00f383754fa490be76c2c3398ccd4d2a869 (patch) | |
tree | 4e8e7fe4d196668f7cf7030d7bd77d315ced8054 /doc/man3 | |
parent | 3d96a51c09296cb5c283efb5681105a7691e6fbc (diff) |
Add EVP_CIPHER_do_all_ex() and EVP_MD_do_all_ex()
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/9356)
Diffstat (limited to 'doc/man3')
-rw-r--r-- | doc/man3/EVP_DigestInit.pod | 15 | ||||
-rw-r--r-- | doc/man3/EVP_EncryptInit.pod | 12 |
2 files changed, 25 insertions, 2 deletions
diff --git a/doc/man3/EVP_DigestInit.pod b/doc/man3/EVP_DigestInit.pod index a44266208c..226bc467c4 100644 --- a/doc/man3/EVP_DigestInit.pod +++ b/doc/man3/EVP_DigestInit.pod @@ -15,7 +15,9 @@ EVP_MD_CTX_md, EVP_MD_CTX_type, EVP_MD_CTX_size, EVP_MD_CTX_block_size, EVP_MD_CTX_md_data, EVP_MD_CTX_update_fn, EVP_MD_CTX_set_update_fn, EVP_md_null, EVP_get_digestbyname, EVP_get_digestbynid, EVP_get_digestbyobj, -EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx - EVP digest routines +EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx, +EVP_MD_do_all_ex +- EVP digest routines =head1 SYNOPSIS @@ -76,6 +78,10 @@ EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_set_pkey_ctx - EVP digest routines EVP_PKEY_CTX *EVP_MD_CTX_pkey_ctx(const EVP_MD_CTX *ctx); void EVP_MD_CTX_set_pkey_ctx(EVP_MD_CTX *ctx, EVP_PKEY_CTX *pctx); + void EVP_MD_do_all_ex(OPENSSL_CTX *libctx, + void (*fn)(EVP_MD *mac, void *arg), + void *arg); + =head1 DESCRIPTION The EVP digest routines are a high level interface to message digests, @@ -281,6 +287,13 @@ by the caller. A NULL B<pctx> pointer is also allowed to clear the B<EVP_PKEY_CT assigned to B<ctx>. In such case, freeing the cleared B<EVP_PKEY_CTX> or not depends on how the B<EVP_PKEY_CTX> is created. +=item EVP_MD_do_all_ex() + +Traverses all messages digests implemented by all activated providers +in the given library context I<libctx>, and for each of the implementations, +calls the given function I<fn> with the implementation method and the given +I<arg> as argument. + =back =head1 PARAMS diff --git a/doc/man3/EVP_EncryptInit.pod b/doc/man3/EVP_EncryptInit.pod index b1d18450d2..43ed7f90c2 100644 --- a/doc/man3/EVP_EncryptInit.pod +++ b/doc/man3/EVP_EncryptInit.pod @@ -49,7 +49,8 @@ EVP_CIPHER_CTX_mode, EVP_CIPHER_param_to_asn1, EVP_CIPHER_asn1_to_param, EVP_CIPHER_CTX_set_padding, -EVP_enc_null +EVP_enc_null, +EVP_CIPHER_do_all_ex - EVP cipher routines =head1 SYNOPSIS @@ -127,6 +128,10 @@ EVP_enc_null int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); + void EVP_CIPHER_do_all_ex(OPENSSL_CTX *libctx, + void (*fn)(EVP_CIPHER *cipher, void *arg), + void *arg); + =head1 DESCRIPTION The EVP cipher routines are a high level interface to certain @@ -302,6 +307,11 @@ based on the cipher context. The EVP_CIPHER can provide its own random key generation routine to support keys of a specific form. B<Key> must point to a buffer at least as big as the value returned by EVP_CIPHER_CTX_key_length(). +EVP_CIPHER_do_all_ex() traverses all ciphers implemented by all activated +providers in the given library context I<libctx>, and for each of the +implementations, calls the given function I<fn> with the implementation method +and the given I<arg> as argument. + =head1 RETURN VALUES EVP_CIPHER_fetch() returns a pointer to a B<EVP_CIPHER> for success |