1=pod
2
3=head1 NAME
4
5ossl_decoder_get_number, evp_md_get_number, evp_cipher_get_number,
6evp_mac_get_number, evp_rand_get_number, evp_keymgmt_get_number,
7evp_signature_get_number, evp_asym_cipher_get_number, evp_kem_get_number,
8evp_keyexch_get_number, evp_kdf_get_number, ossl_encoder_get_number,
9ossl_store_loader_get_number - EVP get internal identification numbers
10
11=head1 SYNOPSIS
12
13 #include "crypto/evp.h"
14
15 int evp_asym_cipher_get_number(const EVP_ASYM_CIPHER *cipher);
16 int evp_cipher_get_number(const EVP_CIPHER *e);
17 int evp_kdf_get_number(const EVP_KDF *kdf);
18 int evp_kem_get_number(const EVP_KEM *kem);
19 int evp_keyexch_get_number(const EVP_KEYEXCH *exchange);
20 int evp_keymgmt_get_number(const EVP_KEYMGMT *keymgmt);
21 int evp_mac_get_number(const EVP_MAC *mac);
22 int evp_md_get_number(const EVP_MD *md);
23 int evp_rand_get_number(const EVP_RAND *rand);
24 int evp_signature_get_number(const EVP_SIGNATURE *signature);
25 int ossl_decoder_get_number(const OSSL_DECODER *decoder);
26 int ossl_encoder_get_number(const OSSL_ENCODER *encoder);
27 int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader);
28
29=head1 DESCRIPTION
30
31All provided algorithms get an associated integer identification number.
32This number is dynamic and should be expected to vary from run to run.
33These numbers should only be considered to be unique per provider per
34library context.
35
36=over 4
37
38=item evp_asym_cipher_get_number()
39
40Returns the internal dynamic number assigned to I<cipher>.
41
42=item evp_cipher_get_number()
43
44Returns the internal dynamic number assigned to the I<cipher>.  This is only
45useful with fetched B<EVP_CIPHER>s.
46
47=item evp_kdf_get_number()
48
49Keturns the internal dynamic number assigned to I<kdf>.
50
51=item evp_kem_get_number()
52
53Returns the internal dynamic number assigned to I<kem>.
54
55=item evp_keyexch_get_number()
56
57Returns the internal dynamic number assigned to the I<exchange>.
58
59=item evp_keymgmt_get_number()
60
61Returns the internal dynamic number assigned to the I<keymgmt>.
62
63=item evp_mac_get_number()
64
65Returns the internal dynamic number assigned to I<mac>.
66
67=item evp_md_get_number()
68
69Returns the internal dynamic number assigned to the I<md>.  This is
70only useful with fetched B<EVP_MD>s.
71
72=item evp_rand_get_number()
73
74Returns the internal dynamic number assigned to I<rand>.
75
76=item evp_signature_get_number()
77
78Returns the internal dynamic number assigned to I<signature>.
79
80=item ossl_decoder_get_number()
81
82Returns the internal dynamic number assigned to the given I<decoder>.
83
84=item ossl_encoder_get_number()
85
86Returns the internal dynamic number assigned to the given I<encoder>.
87
88=item ossl_store_loader_get_number()
89
90Returns the internal dynamic number assigned to the given I<loader>.
91
92=back
93
94=head1 RETURN VALUES
95
96All of these functions return the provider specific identification number
97for the specified algorithm.
98
99=head1 HISTORY
100
101This functionality was added to OpenSSL 3.0.
102
103=head1 COPYRIGHT
104
105Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
106
107Licensed under the Apache License 2.0 (the "License").  You may not use
108this file except in compliance with the License.  You can obtain a copy
109in the file LICENSE in the source distribution or at
110L<https://www.openssl.org/source/license.html>.
111
112=cut
113