[openssl] master update

Dr. Paul Dale pauli at openssl.org
Wed Jun 2 10:47:31 UTC 2021


The branch master has been updated
       via  5bcbdee621fbf05df7431b8fbb0ea7de7054e1f0 (commit)
       via  45e6e5073a66e3c7da3af3dd3df6164c1a9cbf1b (commit)
       via  d11e55508270df3501ec6826d82b4380ab64e189 (commit)
       via  bcd5d3a22d21010cf28c3b7b5f1c79b22be6da7a (commit)
       via  6ea964cd4a1b2e945fbf79204d123811bc57d3a5 (commit)
       via  2e006ae77bffb4596568549d6aa4df6ef21bb8b6 (commit)
       via  f2e3584d10f0ee61a35e2b5862b49f71ef5630bd (commit)
       via  c768893e7de5c85fdd47c1a464e83a8dbf05ac0d (commit)
      from  4cedf30e995f9789cf6bb103e248d33285a84067 (commit)


- Log -----------------------------------------------------------------
commit 5bcbdee621fbf05df7431b8fbb0ea7de7054e1f0
Author: Pauli <pauli at openssl.org>
Date:   Tue Jun 1 21:48:29 2021 +1000

    list: update to not use XXX_get_number() calls
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15564)

commit 45e6e5073a66e3c7da3af3dd3df6164c1a9cbf1b
Author: Pauli <pauli at openssl.org>
Date:   Tue Jun 1 21:48:11 2021 +1000

    store: include internal header
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15564)

commit d11e55508270df3501ec6826d82b4380ab64e189
Author: Pauli <pauli at openssl.org>
Date:   Tue Jun 1 21:19:39 2021 +1000

    doc: fix OSSL_(EN|DE)CODER_get0_name function names
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15564)

commit bcd5d3a22d21010cf28c3b7b5f1c79b22be6da7a
Author: Pauli <pauli at openssl.org>
Date:   Tue Jun 1 21:18:04 2021 +1000

    libcrypto: make XXX_get_number() internal
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15564)

commit 6ea964cd4a1b2e945fbf79204d123811bc57d3a5
Author: Pauli <pauli at openssl.org>
Date:   Tue Jun 1 21:17:47 2021 +1000

    doc: make XXX_get_number() internal
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15564)

commit 2e006ae77bffb4596568549d6aa4df6ef21bb8b6
Author: Pauli <pauli at openssl.org>
Date:   Tue Jun 1 12:53:31 2021 +1000

    Add internal get_number functions to internal headers
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15564)

commit f2e3584d10f0ee61a35e2b5862b49f71ef5630bd
Author: Pauli <pauli at openssl.org>
Date:   Tue Jun 1 12:51:45 2021 +1000

    add internal get_number functons to crypto/evp.h
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15564)

commit c768893e7de5c85fdd47c1a464e83a8dbf05ac0d
Author: Pauli <pauli at openssl.org>
Date:   Tue Jun 1 12:44:26 2021 +1000

    doc: move XXX_get_number() documentation to internal
    
    These functions are effectively useless for users outside of libcrypto.
    
    Reviewed-by: Tomas Mraz <tomas at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15564)

-----------------------------------------------------------------------

Summary of changes:
 apps/list.c                             | 101 +++++++---------------------
 crypto/encode_decode/decoder_meth.c     |   2 +-
 crypto/encode_decode/encoder_meth.c     |   2 +-
 crypto/evp/asymcipher.c                 |   2 +-
 crypto/evp/evp_lib.c                    |   4 +-
 crypto/evp/evp_rand.c                   |   2 +-
 crypto/evp/exchange.c                   |   2 +-
 crypto/evp/kdf_lib.c                    |   2 +-
 crypto/evp/kem.c                        |   2 +-
 crypto/evp/keymgmt_meth.c               |   2 +-
 crypto/evp/mac_lib.c                    |   2 +-
 crypto/evp/signature.c                  |   2 +-
 crypto/store/store_meth.c               |   4 +-
 doc/internal/man3/evp_md_get_number.pod | 115 ++++++++++++++++++++++++++++++++
 doc/man3/EVP_ASYM_CIPHER_free.pod       |   6 +-
 doc/man3/EVP_DigestInit.pod             |   8 +--
 doc/man3/EVP_EncryptInit.pod            |   7 --
 doc/man3/EVP_KDF.pod                    |   6 +-
 doc/man3/EVP_KEM_free.pod               |   5 +-
 doc/man3/EVP_KEYEXCH_free.pod           |   9 +--
 doc/man3/EVP_KEYMGMT.pod                |   7 --
 doc/man3/EVP_MAC.pod                    |   7 +-
 doc/man3/EVP_RAND.pod                   |   9 +--
 doc/man3/EVP_SIGNATURE_free.pod         |   6 +-
 doc/man3/OSSL_DECODER.pod               |   9 +--
 doc/man3/OSSL_ENCODER.pod               |   9 +--
 doc/man3/OSSL_STORE_LOADER.pod          |   9 +--
 include/crypto/decoder.h                |   2 +
 include/crypto/encoder.h                |   1 +
 include/crypto/evp.h                    |  12 ++++
 include/crypto/store.h                  |   1 +
 include/openssl/decoder.h               |   1 -
 include/openssl/encoder.h               |   1 -
 include/openssl/evp.h                   |   9 ---
 include/openssl/kdf.h                   |   1 -
 include/openssl/store.h                 |   1 -
 util/libcrypto.num                      |  13 ----
 37 files changed, 180 insertions(+), 203 deletions(-)
 create mode 100644 doc/internal/man3/evp_md_get_number.pod

diff --git a/apps/list.c b/apps/list.c
index 2b2676b2cd..612f55a311 100644
--- a/apps/list.c
+++ b/apps/list.c
@@ -88,13 +88,8 @@ DEFINE_STACK_OF(EVP_CIPHER)
 static int cipher_cmp(const EVP_CIPHER * const *a,
                       const EVP_CIPHER * const *b)
 {
-    int ret = EVP_CIPHER_get_number(*a) - EVP_CIPHER_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_CIPHER_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_CIPHER_get0_provider(*b)));
-
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_CIPHER_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_CIPHER_get0_provider(*b)));
 }
 
 static void collect_ciphers(EVP_CIPHER *cipher, void *stack)
@@ -177,13 +172,8 @@ static void legacy_md_fn(const EVP_MD *m,
 DEFINE_STACK_OF(EVP_MD)
 static int md_cmp(const EVP_MD * const *a, const EVP_MD * const *b)
 {
-    int ret = EVP_MD_get_number(*a) - EVP_MD_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_MD_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_MD_get0_provider(*b)));
-
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_MD_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_MD_get0_provider(*b)));
 }
 
 static void collect_digests(EVP_MD *digest, void *stack)
@@ -250,13 +240,8 @@ static void list_digests(void)
 DEFINE_STACK_OF(EVP_MAC)
 static int mac_cmp(const EVP_MAC * const *a, const EVP_MAC * const *b)
 {
-    int ret = EVP_MAC_get_number(*a) - EVP_MAC_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_MAC_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_MAC_get0_provider(*b)));
-
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_MAC_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_MAC_get0_provider(*b)));
 }
 
 static void collect_macs(EVP_MAC *mac, void *stack)
@@ -319,13 +304,8 @@ static void list_macs(void)
 DEFINE_STACK_OF(EVP_KDF)
 static int kdf_cmp(const EVP_KDF * const *a, const EVP_KDF * const *b)
 {
-    int ret = EVP_KDF_get_number(*a) - EVP_KDF_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_KDF_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_KDF_get0_provider(*b)));
-
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_KDF_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_KDF_get0_provider(*b)));
 }
 
 static void collect_kdfs(EVP_KDF *kdf, void *stack)
@@ -520,12 +500,8 @@ DEFINE_STACK_OF(OSSL_ENCODER)
 static int encoder_cmp(const OSSL_ENCODER * const *a,
                        const OSSL_ENCODER * const *b)
 {
-    int ret = OSSL_ENCODER_get_number(*a) - OSSL_ENCODER_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(OSSL_ENCODER_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(OSSL_ENCODER_get0_provider(*b)));
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(OSSL_ENCODER_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(OSSL_ENCODER_get0_provider(*b)));
 }
 
 static void collect_encoders(OSSL_ENCODER *encoder, void *stack)
@@ -588,12 +564,8 @@ DEFINE_STACK_OF(OSSL_DECODER)
 static int decoder_cmp(const OSSL_DECODER * const *a,
                        const OSSL_DECODER * const *b)
 {
-    int ret = OSSL_DECODER_get_number(*a) - OSSL_DECODER_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(OSSL_DECODER_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(OSSL_DECODER_get0_provider(*b)));
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(OSSL_DECODER_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(OSSL_DECODER_get0_provider(*b)));
 }
 
 static void collect_decoders(OSSL_DECODER *decoder, void *stack)
@@ -654,12 +626,8 @@ DEFINE_STACK_OF(EVP_KEYMGMT)
 static int keymanager_cmp(const EVP_KEYMGMT * const *a,
                           const EVP_KEYMGMT * const *b)
 {
-    int ret = EVP_KEYMGMT_get_number(*a) - EVP_KEYMGMT_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_KEYMGMT_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_KEYMGMT_get0_provider(*b)));
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_KEYMGMT_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_KEYMGMT_get0_provider(*b)));
 }
 
 static void collect_keymanagers(EVP_KEYMGMT *km, void *stack)
@@ -720,12 +688,8 @@ DEFINE_STACK_OF(EVP_SIGNATURE)
 static int signature_cmp(const EVP_SIGNATURE * const *a,
                          const EVP_SIGNATURE * const *b)
 {
-    int ret = EVP_SIGNATURE_get_number(*a) - EVP_SIGNATURE_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_SIGNATURE_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_SIGNATURE_get0_provider(*b)));
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_SIGNATURE_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_SIGNATURE_get0_provider(*b)));
 }
 
 static void collect_signatures(EVP_SIGNATURE *sig, void *stack)
@@ -783,12 +747,8 @@ DEFINE_STACK_OF(EVP_KEM)
 static int kem_cmp(const EVP_KEM * const *a,
                    const EVP_KEM * const *b)
 {
-    int ret = EVP_KEM_get_number(*a) - EVP_KEM_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_KEM_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_KEM_get0_provider(*b)));
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_KEM_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_KEM_get0_provider(*b)));
 }
 
 static void collect_kem(EVP_KEM *kem, void *stack)
@@ -846,12 +806,8 @@ DEFINE_STACK_OF(EVP_ASYM_CIPHER)
 static int asymcipher_cmp(const EVP_ASYM_CIPHER * const *a,
                           const EVP_ASYM_CIPHER * const *b)
 {
-    int ret = EVP_ASYM_CIPHER_get_number(*a) - EVP_ASYM_CIPHER_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_ASYM_CIPHER_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_ASYM_CIPHER_get0_provider(*b)));
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_ASYM_CIPHER_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_ASYM_CIPHER_get0_provider(*b)));
 }
 
 static void collect_asymciph(EVP_ASYM_CIPHER *asym_cipher, void *stack)
@@ -911,12 +867,8 @@ DEFINE_STACK_OF(EVP_KEYEXCH)
 static int kex_cmp(const EVP_KEYEXCH * const *a,
                    const EVP_KEYEXCH * const *b)
 {
-    int ret = EVP_KEYEXCH_get_number(*a) - EVP_KEYEXCH_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(EVP_KEYEXCH_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(EVP_KEYEXCH_get0_provider(*b)));
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(EVP_KEYEXCH_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(EVP_KEYEXCH_get0_provider(*b)));
 }
 
 static void collect_kex(EVP_KEYEXCH *kex, void *stack)
@@ -1196,13 +1148,8 @@ DEFINE_STACK_OF(OSSL_STORE_LOADER)
 static int store_cmp(const OSSL_STORE_LOADER * const *a,
                      const OSSL_STORE_LOADER * const *b)
 {
-    int ret = OSSL_STORE_LOADER_get_number(*a) - OSSL_STORE_LOADER_get_number(*b);
-
-    if (ret == 0)
-        ret = strcmp(OSSL_PROVIDER_get0_name(OSSL_STORE_LOADER_get0_provider(*a)),
-                     OSSL_PROVIDER_get0_name(OSSL_STORE_LOADER_get0_provider(*b)));
-
-    return ret;
+    return strcmp(OSSL_PROVIDER_get0_name(OSSL_STORE_LOADER_get0_provider(*a)),
+                  OSSL_PROVIDER_get0_name(OSSL_STORE_LOADER_get0_provider(*b)));
 }
 
 static void collect_store_loaders(OSSL_STORE_LOADER *store, void *stack)
diff --git a/crypto/encode_decode/decoder_meth.c b/crypto/encode_decode/decoder_meth.c
index 708b319314..7197b9090d 100644
--- a/crypto/encode_decode/decoder_meth.c
+++ b/crypto/encode_decode/decoder_meth.c
@@ -421,7 +421,7 @@ const char *OSSL_DECODER_get0_properties(const OSSL_DECODER *decoder)
     return decoder->base.propdef;
 }
 
-int OSSL_DECODER_get_number(const OSSL_DECODER *decoder)
+int ossl_decoder_get_number(const OSSL_DECODER *decoder)
 {
     if (!ossl_assert(decoder != NULL)) {
         ERR_raise(ERR_LIB_OSSL_DECODER, ERR_R_PASSED_NULL_PARAMETER);
diff --git a/crypto/encode_decode/encoder_meth.c b/crypto/encode_decode/encoder_meth.c
index 33655c12a6..81cebb2659 100644
--- a/crypto/encode_decode/encoder_meth.c
+++ b/crypto/encode_decode/encoder_meth.c
@@ -433,7 +433,7 @@ const char *OSSL_ENCODER_get0_properties(const OSSL_ENCODER *encoder)
     return encoder->base.propdef;
 }
 
-int OSSL_ENCODER_get_number(const OSSL_ENCODER *encoder)
+int ossl_encoder_get_number(const OSSL_ENCODER *encoder)
 {
     if (!ossl_assert(encoder != NULL)) {
         ERR_raise(ERR_LIB_OSSL_ENCODER, ERR_R_PASSED_NULL_PARAMETER);
diff --git a/crypto/evp/asymcipher.c b/crypto/evp/asymcipher.c
index c70e1e9554..1368f7094e 100644
--- a/crypto/evp/asymcipher.c
+++ b/crypto/evp/asymcipher.c
@@ -428,7 +428,7 @@ int EVP_ASYM_CIPHER_is_a(const EVP_ASYM_CIPHER *cipher, const char *name)
     return evp_is_a(cipher->prov, cipher->name_id, NULL, name);
 }
 
-int EVP_ASYM_CIPHER_get_number(const EVP_ASYM_CIPHER *cipher)
+int evp_asym_cipher_get_number(const EVP_ASYM_CIPHER *cipher)
 {
     return cipher->name_id;
 }
diff --git a/crypto/evp/evp_lib.c b/crypto/evp/evp_lib.c
index 8a03c4490b..bb91b22678 100644
--- a/crypto/evp/evp_lib.c
+++ b/crypto/evp/evp_lib.c
@@ -660,7 +660,7 @@ int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name)
     return evp_is_a(NULL, 0, EVP_CIPHER_get0_name(cipher), name);
 }
 
-int EVP_CIPHER_get_number(const EVP_CIPHER *cipher)
+int evp_cipher_get_number(const EVP_CIPHER *cipher)
 {
     return cipher->name_id;
 }
@@ -714,7 +714,7 @@ int EVP_MD_is_a(const EVP_MD *md, const char *name)
     return evp_is_a(NULL, 0, EVP_MD_get0_name(md), name);
 }
 
-int EVP_MD_get_number(const EVP_MD *md)
+int evp_md_get_number(const EVP_MD *md)
 {
     return md->name_id;
 }
diff --git a/crypto/evp/evp_rand.c b/crypto/evp/evp_rand.c
index 1e41fe0765..a76d746d9a 100644
--- a/crypto/evp/evp_rand.c
+++ b/crypto/evp/evp_rand.c
@@ -293,7 +293,7 @@ void EVP_RAND_free(EVP_RAND *rand)
     evp_rand_free(rand);
 }
 
-int EVP_RAND_get_number(const EVP_RAND *rand)
+int evp_rand_get_number(const EVP_RAND *rand)
 {
     return rand->name_id;
 }
diff --git a/crypto/evp/exchange.c b/crypto/evp/exchange.c
index 6503f479fa..72472aaace 100644
--- a/crypto/evp/exchange.c
+++ b/crypto/evp/exchange.c
@@ -458,7 +458,7 @@ int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *pkeylen)
         return ctx->pmeth->derive(ctx, key, pkeylen);
 }
 
-int EVP_KEYEXCH_get_number(const EVP_KEYEXCH *keyexch)
+int evp_keyexch_get_number(const EVP_KEYEXCH *keyexch)
 {
     return keyexch->name_id;
 }
diff --git a/crypto/evp/kdf_lib.c b/crypto/evp/kdf_lib.c
index 65b1617b81..77080e0b8d 100644
--- a/crypto/evp/kdf_lib.c
+++ b/crypto/evp/kdf_lib.c
@@ -83,7 +83,7 @@ EVP_KDF_CTX *EVP_KDF_CTX_dup(const EVP_KDF_CTX *src)
     return dst;
 }
 
-int EVP_KDF_get_number(const EVP_KDF *kdf)
+int evp_kdf_get_number(const EVP_KDF *kdf)
 {
     return kdf->name_id;
 }
diff --git a/crypto/evp/kem.c b/crypto/evp/kem.c
index 594633cf92..721b840ea5 100644
--- a/crypto/evp/kem.c
+++ b/crypto/evp/kem.c
@@ -343,7 +343,7 @@ int EVP_KEM_is_a(const EVP_KEM *kem, const char *name)
     return evp_is_a(kem->prov, kem->name_id, NULL, name);
 }
 
-int EVP_KEM_get_number(const EVP_KEM *kem)
+int evp_kem_get_number(const EVP_KEM *kem)
 {
     return kem->name_id;
 }
diff --git a/crypto/evp/keymgmt_meth.c b/crypto/evp/keymgmt_meth.c
index 841eae1df8..439b8f035c 100644
--- a/crypto/evp/keymgmt_meth.c
+++ b/crypto/evp/keymgmt_meth.c
@@ -251,7 +251,7 @@ const OSSL_PROVIDER *EVP_KEYMGMT_get0_provider(const EVP_KEYMGMT *keymgmt)
     return keymgmt->prov;
 }
 
-int EVP_KEYMGMT_get_number(const EVP_KEYMGMT *keymgmt)
+int evp_keymgmt_get_number(const EVP_KEYMGMT *keymgmt)
 {
     return keymgmt->name_id;
 }
diff --git a/crypto/evp/mac_lib.c b/crypto/evp/mac_lib.c
index bd8543b2c4..339d10919f 100644
--- a/crypto/evp/mac_lib.c
+++ b/crypto/evp/mac_lib.c
@@ -203,7 +203,7 @@ int EVP_MAC_CTX_set_params(EVP_MAC_CTX *ctx, const OSSL_PARAM params[])
     return 1;
 }
 
-int EVP_MAC_get_number(const EVP_MAC *mac)
+int evp_mac_get_number(const EVP_MAC *mac)
 {
     return mac->name_id;
 }
diff --git a/crypto/evp/signature.c b/crypto/evp/signature.c
index 9b289d315b..b31f6a4bd0 100644
--- a/crypto/evp/signature.c
+++ b/crypto/evp/signature.c
@@ -319,7 +319,7 @@ int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char *name)
     return evp_is_a(signature->prov, signature->name_id, NULL, name);
 }
 
-int EVP_SIGNATURE_get_number(const EVP_SIGNATURE *signature)
+int evp_signature_get_number(const EVP_SIGNATURE *signature)
 {
     return signature->name_id;
 }
diff --git a/crypto/store/store_meth.c b/crypto/store/store_meth.c
index 7f11d4fbea..cf2d1c6bba 100644
--- a/crypto/store/store_meth.c
+++ b/crypto/store/store_meth.c
@@ -7,8 +7,8 @@
  * https://www.openssl.org/source/license.html
  */
 
-#include <openssl/store.h>
 #include <openssl/crypto.h>
+#include "crypto/store.h"
 #include "internal/core.h"
 #include "internal/namemap.h"
 #include "internal/property.h"
@@ -393,7 +393,7 @@ const char *OSSL_STORE_LOADER_get0_properties(const OSSL_STORE_LOADER *loader)
     return loader->propdef;
 }
 
-int OSSL_STORE_LOADER_get_number(const OSSL_STORE_LOADER *loader)
+int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader)
 {
     if (!ossl_assert(loader != NULL)) {
         ERR_raise(ERR_LIB_OSSL_STORE, ERR_R_PASSED_NULL_PARAMETER);
diff --git a/doc/internal/man3/evp_md_get_number.pod b/doc/internal/man3/evp_md_get_number.pod
new file mode 100644
index 0000000000..8e5bbd4437
--- /dev/null
+++ b/doc/internal/man3/evp_md_get_number.pod
@@ -0,0 +1,115 @@
+=pod
+
+=head1 NAME
+
+ossl_decoder_get_number, evp_md_get_number, evp_cipher_get_number,
+evp_mac_get_number, evp_rand_get_number, evp_keymgmt_get_number,
+evp_signature_get_number, evp_asym_cipher_get_number, evp_kem_get_number,
+evp_keyexch_get_number, evp_kdf_get_number, ossl_encoder_get_number,
+ossl_store_loader_get_number - EVP get internal identification numbers
+
+=head1 SYNOPSIS
+
+ #include <crypto/evp.h>
+
+ int evp_asym_cipher_get_number(const EVP_ASYM_CIPHER *cipher);
+ int evp_cipher_get_number(const EVP_CIPHER *e);
+ int evp_kdf_get_number(const EVP_KDF *kdf);
+ int evp_kem_get_number(const EVP_KEM *kem);
+ int evp_keyexch_get_number(const EVP_KEYEXCH *exchange);
+ int evp_keymgmt_get_number(const EVP_KEYMGMT *keymgmt);
+ int evp_mac_get_number(const EVP_MAC *mac);
+ int evp_md_get_number(const EVP_MD *md);
+ int evp_rand_get_number(const EVP_RAND *rand);
+ int evp_signature_get_number(const EVP_SIGNATURE *signature);
+ int ossl_decoder_get_number(const OSSL_DECODER *decoder);
+ int ossl_encoder_get_number(const OSSL_ENCODER *encoder);
+ int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader);
+
+=head1 DESCRIPTION
+
+All provided algorithms get an associated integer identification number.
+This number is dynamic and should be expected to vary from run to run.
+These numbers should only be considered to be unique per provider per
+library context.
+
+=over 4
+
+=item evp_asym_cipher_get_number()
+
+Returns the internal dynamic number assigned to I<cipher>.
+
+=item evp_cipher_get_number()
+
+Returns the internal dynamic number assigned to the I<cipher>.  This is only
+useful with fetched B<EVP_CIPHER>s.
+
+=item evp_kdf_get_number()
+
+Keturns the internal dynamic number assigned to I<kdf>.
+
+=item evp_kem_get_number()
+
+Returns the internal dynamic number assigned to I<kem>.
+
+=item evp_keyexch_get_number()
+
+Returns the internal dynamic number assigned to the I<exchange>.
+
+=item evp_keymgmt_get_number()
+
+Returns the internal dynamic number assigned to the I<keymgmt>.
+
+=item evp_mac_get_number()
+
+Returns the internal dynamic number assigned to I<mac>.
+
+=item evp_md_get_number()
+
+Returns the internal dynamic number assigned to the I<md>.  This is
+only useful with fetched B<EVP_MD>s.
+
+=item evp_rand_get_number()
+
+Returns the internal dynamic number assigned to I<rand>.
+
+=item evp_signature_get_number()
+
+Returns the internal dynamic number assigned to I<signature>.
+
+=item ossl_decoder_get_number()
+
+Returns the internal dynamic number assigned to the given I<decoder>.
+
+=item ossl_encoder_get_number()
+
+Returns the internal dynamic number assigned to the given I<encoder>.
+
+=item ossl_store_loader_get_number()
+
+Returns the internal dynamic number assigned to the given I<loader>.
+
+=back
+
+=head1 RETURN VALUES
+
+All of these functions return the provider specific identification number
+for the specified algorithm.
+
+=head1 SEE ALSO
+
+
+=head1 HISTORY
+
+This functionality was added to OpenSSL 3.0.
+
+=head1 COPYRIGHT
+
+Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.
+
+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
+L<https://www.openssl.org/source/license.html>.
+
+=cut
diff --git a/doc/man3/EVP_ASYM_CIPHER_free.pod b/doc/man3/EVP_ASYM_CIPHER_free.pod
index 2b34eb4469..72910a5599 100644
--- a/doc/man3/EVP_ASYM_CIPHER_free.pod
+++ b/doc/man3/EVP_ASYM_CIPHER_free.pod
@@ -3,7 +3,7 @@
 =head1 NAME
 
 EVP_ASYM_CIPHER_fetch, EVP_ASYM_CIPHER_free, EVP_ASYM_CIPHER_up_ref,
-EVP_ASYM_CIPHER_get_number, EVP_ASYM_CIPHER_is_a, EVP_ASYM_CIPHER_get0_provider,
+EVP_ASYM_CIPHER_is_a, EVP_ASYM_CIPHER_get0_provider,
 EVP_ASYM_CIPHER_do_all_provided, EVP_ASYM_CIPHER_names_do_all,
 EVP_ASYM_CIPHER_get0_name, EVP_ASYM_CIPHER_get0_description,
 EVP_ASYM_CIPHER_gettable_ctx_params, EVP_ASYM_CIPHER_settable_ctx_params
@@ -17,7 +17,6 @@ EVP_ASYM_CIPHER_gettable_ctx_params, EVP_ASYM_CIPHER_settable_ctx_params
                                         const char *properties);
  void EVP_ASYM_CIPHER_free(EVP_ASYM_CIPHER *cipher);
  int EVP_ASYM_CIPHER_up_ref(EVP_ASYM_CIPHER *cipher);
- int EVP_ASYM_CIPHER_get_number(const EVP_ASYM_CIPHER *cipher);
  const char *EVP_ASYM_CIPHER_get0_name(const EVP_ASYM_CIPHER *cipher);
  int EVP_ASYM_CIPHER_is_a(const EVP_ASYM_CIPHER *cipher, const char *name);
  OSSL_PROVIDER *EVP_ASYM_CIPHER_get0_provider(const EVP_ASYM_CIPHER *cipher);
@@ -62,9 +61,6 @@ 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.
 
-EVP_ASYM_CIPHER_get_number() returns the internal dynamic number assigned to
-I<cipher>.
-
 EVP_ASYM_CIPHER_get0_name() returns the algorithm name from the provided
 implementation for the given I<cipher>. Note that the I<cipher> may have
 multiple synonyms associated with it. In this case the first name from the
diff --git a/doc/man3/EVP_DigestInit.pod b/doc/man3/EVP_DigestInit.pod
index b1d83c1b89..201c011095 100644
--- a/doc/man3/EVP_DigestInit.pod
+++ b/doc/man3/EVP_DigestInit.pod
@@ -12,7 +12,7 @@ EVP_MD_CTX_settable_params, EVP_MD_CTX_gettable_params,
 EVP_MD_CTX_set_flags, EVP_MD_CTX_clear_flags, EVP_MD_CTX_test_flags,
 EVP_Q_digest, EVP_Digest, EVP_DigestInit_ex2, EVP_DigestInit_ex, EVP_DigestInit,
 EVP_DigestUpdate, EVP_DigestFinal_ex, EVP_DigestFinalXOF, EVP_DigestFinal,
-EVP_MD_is_a, EVP_MD_get0_name, EVP_MD_get0_description, EVP_MD_get_number,
+EVP_MD_is_a, EVP_MD_get0_name, EVP_MD_get0_description,
 EVP_MD_names_do_all, EVP_MD_get0_provider, EVP_MD_get_type,
 EVP_MD_get_pkey_type, EVP_MD_get_size, EVP_MD_get_block_size, EVP_MD_get_flags,
 EVP_MD_CTX_get0_name, EVP_MD_CTX_md, EVP_MD_CTX_get0_md, EVP_MD_CTX_get1_md,
@@ -72,7 +72,6 @@ EVP_MD_CTX_type, EVP_MD_CTX_pkey_ctx, EVP_MD_CTX_md_data
 
  const char *EVP_MD_get0_name(const EVP_MD *md);
  const char *EVP_MD_get0_description(const EVP_MD *md);
- int EVP_MD_get_number(const EVP_MD *md);
  int EVP_MD_is_a(const EVP_MD *md, const char *name);
  int EVP_MD_names_do_all(const EVP_MD *md,
                          void (*fn)(const char *name, void *data),
@@ -327,11 +326,6 @@ EVP_sha256() rather than the result of an EVP_MD_fetch()), only cipher
 names registered with the default library context (see
 L<OSSL_LIB_CTX(3)>) will be considered.
 
-=item EVP_MD_get_number()
-
-Returns the internal dynamic number assigned to the I<md>.  This is
-only useful with fetched B<EVP_MD>s.
-
 =item EVP_MD_get0_name(),
 EVP_MD_CTX_get0_name()
 
diff --git a/doc/man3/EVP_EncryptInit.pod b/doc/man3/EVP_EncryptInit.pod
index cd4b8b5c56..965e0d9248 100644
--- a/doc/man3/EVP_EncryptInit.pod
+++ b/doc/man3/EVP_EncryptInit.pod
@@ -35,7 +35,6 @@ EVP_get_cipherbyobj,
 EVP_CIPHER_is_a,
 EVP_CIPHER_get0_name,
 EVP_CIPHER_get0_description,
-EVP_CIPHER_get_number,
 EVP_CIPHER_names_do_all,
 EVP_CIPHER_get0_provider,
 EVP_CIPHER_get_nid,
@@ -166,7 +165,6 @@ EVP_CIPHER_CTX_mode
  const EVP_CIPHER *EVP_get_cipherbyobj(const ASN1_OBJECT *a);
 
  int EVP_CIPHER_get_nid(const EVP_CIPHER *e);
- int EVP_CIPHER_get_number(const EVP_CIPHER *e);
  int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name);
  int EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher,
                              void (*fn)(const char *name, void *data),
@@ -521,11 +519,6 @@ value from the likes of EVP_aes128() rather than the result of an
 EVP_CIPHER_fetch()), only cipher names registered with the default library
 context (see L<OSSL_LIB_CTX(3)>) will be considered.
 
-=item EVP_CIPHER_get_number()
-
-Returns the internal dynamic number assigned to the I<cipher>.  This is only
-useful with fetched B<EVP_CIPHER>s.
-
 =item EVP_CIPHER_get0_name() and EVP_CIPHER_CTX_get0_name()
 
 Return the name of the passed cipher or context.  For fetched ciphers with
diff --git a/doc/man3/EVP_KDF.pod b/doc/man3/EVP_KDF.pod
index 2fd6651c2b..e89e703483 100644
--- a/doc/man3/EVP_KDF.pod
+++ b/doc/man3/EVP_KDF.pod
@@ -6,7 +6,7 @@ EVP_KDF, EVP_KDF_fetch, EVP_KDF_free, EVP_KDF_up_ref,
 EVP_KDF_CTX, EVP_KDF_CTX_new, EVP_KDF_CTX_free, EVP_KDF_CTX_dup,
 EVP_KDF_CTX_reset, EVP_KDF_derive,
 EVP_KDF_CTX_get_kdf_size,
-EVP_KDF_get0_provider, EVP_KDF_CTX_kdf, EVP_KDF_is_a, EVP_KDF_get_number,
+EVP_KDF_get0_provider, EVP_KDF_CTX_kdf, EVP_KDF_is_a,
 EVP_KDF_get0_name, EVP_KDF_names_do_all, EVP_KDF_get0_description,
 EVP_KDF_CTX_get_params, EVP_KDF_CTX_set_params, EVP_KDF_do_all_provided,
 EVP_KDF_get_params, EVP_KDF_gettable_params,
@@ -32,7 +32,6 @@ EVP_KDF_CTX_gettable_params, EVP_KDF_CTX_settable_params - EVP KDF routines
  void EVP_KDF_free(EVP_KDF *kdf);
  EVP_KDF *EVP_KDF_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
                         const char *properties);
- int EVP_KDF_get_number(const EVP_KDF *kdf);
  int EVP_KDF_is_a(const EVP_KDF *kdf, const char *name);
  const char *EVP_KDF_get0_name(const EVP_KDF *kdf);
  const char *EVP_KDF_get0_description(const EVP_KDF *kdf);
@@ -171,9 +170,6 @@ 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.
 
-EVP_KDF_get_number() returns the internal dynamic number assigned to
-I<kdf>.
-
 EVP_KDF_get0_name() return the name of the given KDF.  For fetched KDFs
 with multiple names, only one of them is returned; it's
 recommended to use EVP_KDF_names_do_all() instead.
diff --git a/doc/man3/EVP_KEM_free.pod b/doc/man3/EVP_KEM_free.pod
index 766825859b..e77b89d3b9 100644
--- a/doc/man3/EVP_KEM_free.pod
+++ b/doc/man3/EVP_KEM_free.pod
@@ -3,7 +3,7 @@
 =head1 NAME
 
 EVP_KEM_fetch, EVP_KEM_free, EVP_KEM_up_ref,
-EVP_KEM_get_number, EVP_KEM_get0_name, EVP_KEM_is_a, EVP_KEM_get0_provider,
+EVP_KEM_get0_name, EVP_KEM_is_a, EVP_KEM_get0_provider,
 EVP_KEM_do_all_provided, EVP_KEM_names_do_all, EVP_KEM_get0_description,
 EVP_KEM_gettable_ctx_params, EVP_KEM_settable_ctx_params
 - Functions to manage EVP_KEM algorithm objects
@@ -16,7 +16,6 @@ EVP_KEM_gettable_ctx_params, EVP_KEM_settable_ctx_params
                         const char *properties);
  void EVP_KEM_free(EVP_KEM *kem);
  int EVP_KEM_up_ref(EVP_KEM *kem);
- int EVP_KEM_get_number(const EVP_KEM *kem);
  const char *EVP_KEM_get0_name(const EVP_KEM *kem);
  int EVP_KEM_is_a(const EVP_KEM *kem, const char *name);
  OSSL_PROVIDER *EVP_KEM_get0_provider(const EVP_KEM *kem);
@@ -55,8 +54,6 @@ 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.
 
-EVP_KEM_get_number() returns the internal dynamic number assigned to I<kem>.
-
 EVP_KEM_get0_name() returns the algorithm name from the provided
 implementation for the given I<kem>. Note that the I<kem> may have
 multiple synonyms associated with it. In this case the first name from the
diff --git a/doc/man3/EVP_KEYEXCH_free.pod b/doc/man3/EVP_KEYEXCH_free.pod
index 28eaf523f8..42c7e1289c 100644
--- a/doc/man3/EVP_KEYEXCH_free.pod
+++ b/doc/man3/EVP_KEYEXCH_free.pod
@@ -4,8 +4,7 @@
 
 EVP_KEYEXCH_fetch, EVP_KEYEXCH_free, EVP_KEYEXCH_up_ref,
 EVP_KEYEXCH_get0_provider, EVP_KEYEXCH_is_a, EVP_KEYEXCH_do_all_provided,
-EVP_KEYEXCH_get_number, EVP_KEYEXCH_names_do_all,
-EVP_KEYEXCH_get0_name, EVP_KEYEXCH_get0_description,
+EVP_KEYEXCH_names_do_all, EVP_KEYEXCH_get0_name, EVP_KEYEXCH_get0_description,
 EVP_KEYEXCH_gettable_ctx_params, EVP_KEYEXCH_settable_ctx_params
 - Functions to manage EVP_KEYEXCH algorithm objects
 
@@ -19,7 +18,6 @@ EVP_KEYEXCH_gettable_ctx_params, EVP_KEYEXCH_settable_ctx_params
  int EVP_KEYEXCH_up_ref(EVP_KEYEXCH *exchange);
  OSSL_PROVIDER *EVP_KEYEXCH_get0_provider(const EVP_KEYEXCH *exchange);
  int EVP_KEYEXCH_is_a(const EVP_KEYEXCH *exchange, const char *name);
- int EVP_KEYEXCH_get_number(const EVP_KEYEXCH *exchange);
  const char *EVP_KEYEXCH_get0_name(const EVP_KEYEXCH *exchange);
  void EVP_KEYEXCH_do_all_provided(OSSL_LIB_CTX *libctx,
                                   void (*fn)(EVP_KEYEXCH *exchange, void *arg),
@@ -54,9 +52,6 @@ fetched from.
 EVP_KEYEXCH_is_a() checks if I<exchange> is an implementation of an
 algorithm that's identifiable with I<name>.
 
-EVP_KEYEXCH_get_number() returns the internal dynamic number assigned to
-the I<exchange>.
-
 EVP_KEYEXCH_get0_name() returns the algorithm name from the provided
 implementation for the given I<exchange>. Note that the I<exchange> may have
 multiple synonyms associated with it. In this case the first name from the
@@ -93,8 +88,6 @@ names. A return value of 0 means that the callback was not called for any names.
 EVP_KEYEXCH_is_a() returns 1 of I<exchange> was identifiable,
 otherwise 0.
 
-EVP_KEYEXCH_get_number() returns an integer.
-
 EVP_KEYEXCH_gettable_ctx_params() and EVP_KEYEXCH_settable_ctx_params() return
 a constant B<OSSL_PARAM> array or NULL on error.
 
diff --git a/doc/man3/EVP_KEYMGMT.pod b/doc/man3/EVP_KEYMGMT.pod
index de5a9256a0..6b6e117369 100644
--- a/doc/man3/EVP_KEYMGMT.pod
+++ b/doc/man3/EVP_KEYMGMT.pod
@@ -8,7 +8,6 @@ EVP_KEYMGMT_up_ref,
 EVP_KEYMGMT_free,
 EVP_KEYMGMT_get0_provider,
 EVP_KEYMGMT_is_a,
-EVP_KEYMGMT_get_number,
 EVP_KEYMGMT_get0_description,
 EVP_KEYMGMT_get0_name,
 EVP_KEYMGMT_do_all_provided,
@@ -30,7 +29,6 @@ EVP_KEYMGMT_gen_settable_params
  void EVP_KEYMGMT_free(EVP_KEYMGMT *keymgmt);
  const OSSL_PROVIDER *EVP_KEYMGMT_get0_provider(const EVP_KEYMGMT *keymgmt);
  int EVP_KEYMGMT_is_a(const EVP_KEYMGMT *keymgmt, const char *name);
- int EVP_KEYMGMT_get_number(const EVP_KEYMGMT *keymgmt);
  const char *EVP_KEYMGMT_get0_name(const EVP_KEYMGMT *keymgmt);
  const char *EVP_KEYMGMT_get0_description(const EVP_KEYMGMT *keymgmt);
 
@@ -71,9 +69,6 @@ implementation.
 EVP_KEYMGMT_is_a() checks if I<keymgmt> is an implementation of an
 algorithm that's identifiable with I<name>.
 
-EVP_KEYMGMT_get_number() returns the internal dynamic number assigned to
-the I<keymgmt>.
-
 EVP_KEYMGMT_get0_name() returns the algorithm name from the provided
 implementation for the given I<keymgmt>. Note that the I<keymgmt> may have
 multiple synonyms associated with it. In this case the first name from the
@@ -127,8 +122,6 @@ on error.
 EVP_KEYMGMT_is_a() returns 1 of I<keymgmt> was identifiable,
 otherwise 0.
 
-EVP_KEYMGMT_get_number() returns an integer.
-
 EVP_KEYMGMT_get0_name() returns the algorithm name, or NULL on error.
 
 EVP_KEYMGMT_get0_description() returns a pointer to a decription, or NULL if
diff --git a/doc/man3/EVP_MAC.pod b/doc/man3/EVP_MAC.pod
index 6468e22a02..0c68f42b6f 100644
--- a/doc/man3/EVP_MAC.pod
+++ b/doc/man3/EVP_MAC.pod
@@ -3,8 +3,7 @@
 =head1 NAME
 
 EVP_MAC, EVP_MAC_fetch, EVP_MAC_up_ref, EVP_MAC_free, EVP_MAC_is_a,
-EVP_MAC_get_number, EVP_MAC_get0_name, EVP_MAC_names_do_all,
-EVP_MAC_get0_description,
+EVP_MAC_get0_name, EVP_MAC_names_do_all, EVP_MAC_get0_description,
 EVP_MAC_get0_provider, EVP_MAC_get_params, EVP_MAC_gettable_params,
 EVP_MAC_CTX, EVP_MAC_CTX_new, EVP_MAC_CTX_free, EVP_MAC_CTX_dup,
 EVP_MAC_CTX_get0_mac, EVP_MAC_CTX_get_params, EVP_MAC_CTX_set_params,
@@ -26,7 +25,6 @@ EVP_MAC_do_all_provided - EVP MAC routines
  int EVP_MAC_up_ref(EVP_MAC *mac);
  void EVP_MAC_free(EVP_MAC *mac);
  int EVP_MAC_is_a(const EVP_MAC *mac, const char *name);
- int EVP_MAC_get_number(const EVP_MAC *mac);
  const char *EVP_MAC_get0_name(const EVP_MAC *mac);
  int EVP_MAC_names_do_all(const EVP_MAC *mac,
                           void (*fn)(const char *name, void *data),
@@ -228,9 +226,6 @@ 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.
 
-EVP_MAC_get_number() returns the internal dynamic number assigned to
-I<mac>.
-
 EVP_MAC_get0_name() return the name of the given MAC.  For fetched MACs
 with multiple names, only one of them is returned; it's
 recommended to use EVP_MAC_names_do_all() instead.
diff --git a/doc/man3/EVP_RAND.pod b/doc/man3/EVP_RAND.pod
index bcee801c4e..f21b2f69d7 100644
--- a/doc/man3/EVP_RAND.pod
+++ b/doc/man3/EVP_RAND.pod
@@ -8,7 +8,7 @@ EVP_RAND_uninstantiate, EVP_RAND_generate, EVP_RAND_reseed, EVP_RAND_nonce,
 EVP_RAND_enable_locking, EVP_RAND_verify_zeroization, EVP_RAND_get_strength,
 EVP_RAND_get_state,
 EVP_RAND_get0_provider, EVP_RAND_CTX_get0_rand, EVP_RAND_is_a,
-EVP_RAND_get_number, EVP_RAND_get0_name, EVP_RAND_names_do_all,
+EVP_RAND_get0_name, EVP_RAND_names_do_all,
 EVP_RAND_get0_description,
 EVP_RAND_CTX_get_params,
 EVP_RAND_CTX_set_params, EVP_RAND_do_all_provided, EVP_RAND_get_params,
@@ -39,7 +39,6 @@ EVP_RAND_STATE_ERROR - EVP RAND routines
  const OSSL_PARAM *EVP_RAND_settable_ctx_params(const EVP_RAND *rand);
  const OSSL_PARAM *EVP_RAND_CTX_gettable_params(EVP_RAND_CTX *ctx);
  const OSSL_PARAM *EVP_RAND_CTX_settable_params(EVP_RAND_CTX *ctx);
- int EVP_RAND_get_number(const EVP_RAND *rand);
  const char *EVP_RAND_get0_name(const EVP_RAND *rand);
  const char *EVP_RAND_get0_description(const EVP_RAND *rand);
  int EVP_RAND_is_a(const EVP_RAND *rand, const char *name);
@@ -243,9 +242,6 @@ 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.
 
-EVP_RAND_get_number() returns the internal dynamic number assigned to
-I<rand>.
-
 EVP_RAND_get0_name() returns the canonical name of I<rand>.
 
 EVP_RAND_names_do_all() traverses all names for I<rand>, and calls
@@ -361,9 +357,6 @@ with the context.
 EVP_RAND_get0_name() returns the name of the random number generation
 algorithm.
 
-EVP_RAND_get_number() returns the provider specific identification number
-for the specified algorithm.
-
 EVP_RAND_up_ref() returns 1 on success, 0 on error.
 
 EVP_RAND_names_do_all() returns 1 if the callback was called for all names. A
diff --git a/doc/man3/EVP_SIGNATURE_free.pod b/doc/man3/EVP_SIGNATURE_free.pod
index 5c506dc67c..4642f40efc 100644
--- a/doc/man3/EVP_SIGNATURE_free.pod
+++ b/doc/man3/EVP_SIGNATURE_free.pod
@@ -3,7 +3,7 @@
 =head1 NAME
 
 EVP_SIGNATURE_fetch, EVP_SIGNATURE_free, EVP_SIGNATURE_up_ref,
-EVP_SIGNATURE_get_number, EVP_SIGNATURE_is_a, EVP_SIGNATURE_get0_provider,
+EVP_SIGNATURE_is_a, EVP_SIGNATURE_get0_provider,
 EVP_SIGNATURE_do_all_provided, EVP_SIGNATURE_names_do_all,
 EVP_SIGNATURE_get0_name, EVP_SIGNATURE_get0_description,
 EVP_SIGNATURE_gettable_ctx_params, EVP_SIGNATURE_settable_ctx_params
@@ -17,7 +17,6 @@ EVP_SIGNATURE_gettable_ctx_params, EVP_SIGNATURE_settable_ctx_params
                                     const char *properties);
  void EVP_SIGNATURE_free(EVP_SIGNATURE *signature);
  int EVP_SIGNATURE_up_ref(EVP_SIGNATURE *signature);
- int EVP_SIGNATURE_get_number(const EVP_SIGNATURE *signature);
  const char *EVP_SIGNATURE_get0_name(const EVP_SIGNATURE *signature);
  int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char *name);
  OSSL_PROVIDER *EVP_SIGNATURE_get0_provider(const EVP_SIGNATURE *signature);
@@ -63,9 +62,6 @@ activated roviders 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.
 
-EVP_SIGNATURE_get_number() returns the internal dynamic number assigned to
-I<signature>.
-
 EVP_SIGNATURE_get0_name() returns the algorithm name from the provided
 implementation for the given I<signature>. Note that the I<signature> may have
 multiple synonyms associated with it. In this case the first name from the
diff --git a/doc/man3/OSSL_DECODER.pod b/doc/man3/OSSL_DECODER.pod
index 10917ed462..334f955e16 100644
--- a/doc/man3/OSSL_DECODER.pod
+++ b/doc/man3/OSSL_DECODER.pod
@@ -9,7 +9,6 @@ OSSL_DECODER_free,
 OSSL_DECODER_get0_provider,
 OSSL_DECODER_get0_properties,
 OSSL_DECODER_is_a,
-OSSL_DECODER_get_number,
 OSSL_DECODER_get0_name,
 OSSL_DECODER_get0_description,
 OSSL_DECODER_do_all_provided,
@@ -31,7 +30,6 @@ OSSL_DECODER_get_params
  const OSSL_PROVIDER *OSSL_DECODER_get0_provider(const OSSL_DECODER *decoder);
  const char *OSSL_DECODER_get0_properties(const OSSL_DECODER *decoder);
  int OSSL_DECODER_is_a(const OSSL_DECODER *decoder, const char *name);
- int OSSL_DECODER_get_number(const OSSL_DECODER *decoder);
  const char *OSSL_DECODER_get0_name(const OSSL_DECODER *decoder);
  const char *OSSL_DECODER_get0_description(const OSSL_DECODER *decoder);
  void OSSL_DECODER_do_all_provided(OSSL_LIB_CTX *libctx,
@@ -73,10 +71,7 @@ with the given I<decoder>.
 OSSL_DECODER_is_a() checks if I<decoder> is an implementation
 of an algorithm that's identifiable with I<name>.
 
-OSSL_DECODER_get_number() returns the internal dynamic number assigned
-to the given I<decoder>.
-
-OSSL_DECODER_get_number() returns the name used to fetch the given I<decoder>.
+OSSL_DECODER_get0_name() returns the name used to fetch the given I<decoder>.
 
 OSSL_DECODER_get0_description() returns a description of the I<decoder>, meant
 for display and human consumption.  The description is at the discretion
@@ -115,8 +110,6 @@ definition string, or NULL on error.
 OSSL_DECODER_is_a() returns 1 if I<decoder> was identifiable,
 otherwise 0.
 
-OSSL_DECODER_get_number() returns an integer.
-
 OSSL_DECODER_get0_name() returns the algorithm name from the provided
 implementation for the given I<decoder>. Note that the I<decoder> may have
 multiple synonyms associated with it. In this case the first name from the
diff --git a/doc/man3/OSSL_ENCODER.pod b/doc/man3/OSSL_ENCODER.pod
index 0ff37a3b82..cfabba2e1d 100644
--- a/doc/man3/OSSL_ENCODER.pod
+++ b/doc/man3/OSSL_ENCODER.pod
@@ -9,7 +9,6 @@ OSSL_ENCODER_free,
 OSSL_ENCODER_get0_provider,
 OSSL_ENCODER_get0_properties,
 OSSL_ENCODER_is_a,
-OSSL_ENCODER_get_number,
 OSSL_ENCODER_get0_name,
 OSSL_ENCODER_get0_description,
 OSSL_ENCODER_do_all_provided,
@@ -31,7 +30,6 @@ OSSL_ENCODER_get_params
  const OSSL_PROVIDER *OSSL_ENCODER_get0_provider(const OSSL_ENCODER *encoder);
  const char *OSSL_ENCODER_get0_properties(const OSSL_ENCODER *encoder);
  int OSSL_ENCODER_is_a(const OSSL_ENCODER *encoder, const char *name);
- int OSSL_ENCODER_get_number(const OSSL_ENCODER *encoder);
  const char *OSSL_ENCODER_get0_name(const OSSL_ENCODER *encoder);
  const char *OSSL_ENCODER_get0_description(const OSSL_ENCODER *encoder);
  void OSSL_ENCODER_do_all_provided(OSSL_LIB_CTX *libctx,
@@ -73,10 +71,7 @@ with the given I<encoder>.
 OSSL_ENCODER_is_a() checks if I<encoder> is an implementation of an
 algorithm that's identifiable with I<name>.
 
-OSSL_ENCODER_get_number() returns the internal dynamic number assigned to
-the given I<encoder>.
-
-OSSL_ENCODER_get_number() returns the name used to fetch the given I<encoder>.
+OSSL_ENCODER_get0_name() returns the name used to fetch the given I<encoder>.
 
 OSSL_ENCODER_get0_description() returns a description of the I<loader>, meant
 for display and human consumption.  The description is at the discretion of the
@@ -116,8 +111,6 @@ definition string, or NULL on error.
 OSSL_ENCODER_is_a() returns 1 of I<encoder> was identifiable,
 otherwise 0.
 
-OSSL_ENCODER_get_number() returns an integer.
-
 OSSL_ENCODER_get0_name() returns the algorithm name from the provided
 implementation for the given I<encoder>. Note that the I<encoder> may have
 multiple synonyms associated with it. In this case the first name from the
diff --git a/doc/man3/OSSL_STORE_LOADER.pod b/doc/man3/OSSL_STORE_LOADER.pod
index 1d790fa6d7..04fd318897 100644
--- a/doc/man3/OSSL_STORE_LOADER.pod
+++ b/doc/man3/OSSL_STORE_LOADER.pod
@@ -9,7 +9,6 @@ OSSL_STORE_LOADER_free,
 OSSL_STORE_LOADER_get0_provider,
 OSSL_STORE_LOADER_get0_properties,
 OSSL_STORE_LOADER_is_a,
-OSSL_STORE_LOADER_get_number,
 OSSL_STORE_LOADER_get0_description,
 OSSL_STORE_LOADER_do_all_provided,
 OSSL_STORE_LOADER_names_do_all,
@@ -42,7 +41,6 @@ unregister STORE loaders for different URI schemes
  const OSSL_PROVIDER *OSSL_STORE_LOADER_get0_provider(const OSSL_STORE_LOADER *
                                                  loader);
  const char *OSSL_STORE_LOADER_get0_properties(const OSSL_STORE_LOADER *loader);
- int OSSL_STORE_LOADER_get_number(const OSSL_STORE_LOADER *loader);
  const char *OSSL_STORE_LOADER_get0_description(const OSSL_STORE_LOADER *loader);
  int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader,
                             const char *scheme);
@@ -138,9 +136,6 @@ with the given I<loader>.
 OSSL_STORE_LOADER_is_a() checks if I<loader> is an implementation
 of an algorithm that's identifiable with I<scheme>.
 
-OSSL_STORE_LOADER_get_number() returns the internal dynamic number assigned
-to the given I<loader>.
-
 OSSL_STORE_LOADER_get0_description() returns a description of the I<loader>, meant
 for display and human consumption.  The description is at the discretion of the
 I<loader> implementation.
@@ -332,8 +327,6 @@ definition string, or NULL on error.
 OSSL_STORE_LOADER_is_a() returns 1 if I<loader> was identifiable,
 otherwise 0.
 
-OSSL_STORE_LOADER_get_number() returns an integer.
-
 OSSL_STORE_LOADER_get0_description() returns a pointer to a decription, or NULL if
 there isn't one.
 
@@ -367,7 +360,7 @@ L<provider-storemgmt(7)>
 OSSL_STORE_LOADER_fetch(), OSSL_STORE_LOADER_up_ref(),
 OSSL_STORE_LOADER_free(), OSSL_STORE_LOADER_get0_provider(),
 OSSL_STORE_LOADER_get0_properties(), OSSL_STORE_LOADER_is_a(),
-OSSL_STORE_LOADER_get_number(), OSSL_STORE_LOADER_do_all_provided() and
+OSSL_STORE_LOADER_do_all_provided() and
 OSSL_STORE_LOADER_names_do_all() were added in OpenSSL 3.0.
 
 OSSL_STORE_open_ex_fn() was added in OpenSSL 3.0.
diff --git a/include/crypto/decoder.h b/include/crypto/decoder.h
index a591e43a96..3cf1077fca 100644
--- a/include/crypto/decoder.h
+++ b/include/crypto/decoder.h
@@ -37,5 +37,7 @@ int ossl_decoder_ctx_setup_for_pkey(OSSL_DECODER_CTX *ctx,
                                     OSSL_LIB_CTX *libctx,
                                     const char *propquery);
 
+int ossl_decoder_get_number(const OSSL_DECODER *encoder);
+
 #endif
 
diff --git a/include/crypto/encoder.h b/include/crypto/encoder.h
index a04ba93d54..d3e2155c7e 100644
--- a/include/crypto/encoder.h
+++ b/include/crypto/encoder.h
@@ -11,3 +11,4 @@
 
 OSSL_ENCODER *ossl_encoder_fetch_by_number(OSSL_LIB_CTX *libctx, int id,
                                            const char *properties);
+int ossl_encoder_get_number(const OSSL_ENCODER *encoder);
diff --git a/include/crypto/evp.h b/include/crypto/evp.h
index ce772dbec1..8438fe0e99 100644
--- a/include/crypto/evp.h
+++ b/include/crypto/evp.h
@@ -934,4 +934,16 @@ EC_KEY *evp_pkey_get0_EC_KEY_int(const EVP_PKEY *pkey);
 RSA *evp_pkey_get0_RSA_int(const EVP_PKEY *pkey);
 # endif
 
+/* Get internal identification number routines */
+int evp_asym_cipher_get_number(const EVP_ASYM_CIPHER *cipher);
+int evp_cipher_get_number(const EVP_CIPHER *cipher);
+int evp_kdf_get_number(const EVP_KDF *kdf);
+int evp_kem_get_number(const EVP_KEM *wrap);
+int evp_keyexch_get_number(const EVP_KEYEXCH *keyexch);
+int evp_keymgmt_get_number(const EVP_KEYMGMT *keymgmt);
+int evp_mac_get_number(const EVP_MAC *mac);
+int evp_md_get_number(const EVP_MD *md);
+int evp_rand_get_number(const EVP_RAND *rand);
+int evp_signature_get_number(const EVP_SIGNATURE *signature);
+
 #endif /* OSSL_CRYPTO_EVP_H */
diff --git a/include/crypto/store.h b/include/crypto/store.h
index 5c86660b30..13d2646bba 100644
--- a/include/crypto/store.h
+++ b/include/crypto/store.h
@@ -16,5 +16,6 @@
 # include <openssl/ui.h>
 
 void ossl_store_cleanup_int(void);
+int ossl_store_loader_get_number(const OSSL_STORE_LOADER *loader);
 
 #endif
diff --git a/include/openssl/decoder.h b/include/openssl/decoder.h
index a939d0dcb1..d4ee2cf413 100644
--- a/include/openssl/decoder.h
+++ b/include/openssl/decoder.h
@@ -33,7 +33,6 @@ void OSSL_DECODER_free(OSSL_DECODER *encoder);
 
 const OSSL_PROVIDER *OSSL_DECODER_get0_provider(const OSSL_DECODER *encoder);
 const char *OSSL_DECODER_get0_properties(const OSSL_DECODER *encoder);
-int OSSL_DECODER_get_number(const OSSL_DECODER *encoder);
 const char *OSSL_DECODER_get0_name(const OSSL_DECODER *decoder);
 const char *OSSL_DECODER_get0_description(const OSSL_DECODER *decoder);
 int OSSL_DECODER_is_a(const OSSL_DECODER *encoder, const char *name);
diff --git a/include/openssl/encoder.h b/include/openssl/encoder.h
index 62560ba3c2..e62e33fc89 100644
--- a/include/openssl/encoder.h
+++ b/include/openssl/encoder.h
@@ -33,7 +33,6 @@ void OSSL_ENCODER_free(OSSL_ENCODER *encoder);
 
 const OSSL_PROVIDER *OSSL_ENCODER_get0_provider(const OSSL_ENCODER *encoder);
 const char *OSSL_ENCODER_get0_properties(const OSSL_ENCODER *encoder);
-int OSSL_ENCODER_get_number(const OSSL_ENCODER *encoder);
 const char *OSSL_ENCODER_get0_name(const OSSL_ENCODER *kdf);
 const char *OSSL_ENCODER_get0_description(const OSSL_ENCODER *kdf);
 int OSSL_ENCODER_is_a(const OSSL_ENCODER *encoder, const char *name);
diff --git a/include/openssl/evp.h b/include/openssl/evp.h
index 3f5693824c..c4338dae9c 100644
--- a/include/openssl/evp.h
+++ b/include/openssl/evp.h
@@ -534,7 +534,6 @@ int EVP_MD_get_type(const EVP_MD *md);
 const char *EVP_MD_get0_name(const EVP_MD *md);
 # define EVP_MD_name EVP_MD_get0_name
 const char *EVP_MD_get0_description(const EVP_MD *md);
-int EVP_MD_get_number(const EVP_MD *md);
 int EVP_MD_is_a(const EVP_MD *md, const char *name);
 int EVP_MD_names_do_all(const EVP_MD *md,
                         void (*fn)(const char *name, void *data),
@@ -580,7 +579,6 @@ int EVP_CIPHER_get_nid(const EVP_CIPHER *cipher);
 const char *EVP_CIPHER_get0_name(const EVP_CIPHER *cipher);
 # define EVP_CIPHER_name EVP_CIPHER_get0_name
 const char *EVP_CIPHER_get0_description(const EVP_CIPHER *cipher);
-int EVP_CIPHER_get_number(const EVP_CIPHER *cipher);
 int EVP_CIPHER_is_a(const EVP_CIPHER *cipher, const char *name);
 int EVP_CIPHER_names_do_all(const EVP_CIPHER *cipher,
                             void (*fn)(const char *name, void *data),
@@ -1193,7 +1191,6 @@ EVP_MAC *EVP_MAC_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
                        const char *properties);
 int EVP_MAC_up_ref(EVP_MAC *mac);
 void EVP_MAC_free(EVP_MAC *mac);
-int EVP_MAC_get_number(const EVP_MAC *mac);
 const char *EVP_MAC_get0_name(const EVP_MAC *mac);
 const char *EVP_MAC_get0_description(const EVP_MAC *mac);
 int EVP_MAC_is_a(const EVP_MAC *mac, const char *name);
@@ -1238,7 +1235,6 @@ EVP_RAND *EVP_RAND_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
                          const char *properties);
 int EVP_RAND_up_ref(EVP_RAND *rand);
 void EVP_RAND_free(EVP_RAND *rand);
-int EVP_RAND_get_number(const EVP_RAND *rand);
 const char *EVP_RAND_get0_name(const EVP_RAND *rand);
 const char *EVP_RAND_get0_description(const EVP_RAND *md);
 int EVP_RAND_is_a(const EVP_RAND *rand, const char *name);
@@ -1757,7 +1753,6 @@ void EVP_KEYMGMT_free(EVP_KEYMGMT *keymgmt);
 const OSSL_PROVIDER *EVP_KEYMGMT_get0_provider(const EVP_KEYMGMT *keymgmt);
 const char *EVP_KEYMGMT_get0_name(const EVP_KEYMGMT *keymgmt);
 const char *EVP_KEYMGMT_get0_description(const EVP_KEYMGMT *keymgmt);
-int EVP_KEYMGMT_get_number(const EVP_KEYMGMT *keymgmt);
 int EVP_KEYMGMT_is_a(const EVP_KEYMGMT *keymgmt, const char *name);
 void EVP_KEYMGMT_do_all_provided(OSSL_LIB_CTX *libctx,
                                  void (*fn)(EVP_KEYMGMT *keymgmt, void *arg),
@@ -1840,7 +1835,6 @@ OSSL_PROVIDER *EVP_SIGNATURE_get0_provider(const EVP_SIGNATURE *signature);
 EVP_SIGNATURE *EVP_SIGNATURE_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
                                    const char *properties);
 int EVP_SIGNATURE_is_a(const EVP_SIGNATURE *signature, const char *name);
-int EVP_SIGNATURE_get_number(const EVP_SIGNATURE *signature);
 const char *EVP_SIGNATURE_get0_name(const EVP_SIGNATURE *signature);
 const char *EVP_SIGNATURE_get0_description(const EVP_SIGNATURE *signature);
 void EVP_SIGNATURE_do_all_provided(OSSL_LIB_CTX *libctx,
@@ -1859,7 +1853,6 @@ OSSL_PROVIDER *EVP_ASYM_CIPHER_get0_provider(const EVP_ASYM_CIPHER *cipher);
 EVP_ASYM_CIPHER *EVP_ASYM_CIPHER_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
                                        const char *properties);
 int EVP_ASYM_CIPHER_is_a(const EVP_ASYM_CIPHER *cipher, const char *name);
-int EVP_ASYM_CIPHER_get_number(const EVP_ASYM_CIPHER *cipher);
 const char *EVP_ASYM_CIPHER_get0_name(const EVP_ASYM_CIPHER *cipher);
 const char *EVP_ASYM_CIPHER_get0_description(const EVP_ASYM_CIPHER *cipher);
 void EVP_ASYM_CIPHER_do_all_provided(OSSL_LIB_CTX *libctx,
@@ -1878,7 +1871,6 @@ OSSL_PROVIDER *EVP_KEM_get0_provider(const EVP_KEM *wrap);
 EVP_KEM *EVP_KEM_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
                        const char *properties);
 int EVP_KEM_is_a(const EVP_KEM *wrap, const char *name);
-int EVP_KEM_get_number(const EVP_KEM *wrap);
 const char *EVP_KEM_get0_name(const EVP_KEM *wrap);
 const char *EVP_KEM_get0_description(const EVP_KEM *wrap);
 void EVP_KEM_do_all_provided(OSSL_LIB_CTX *libctx,
@@ -2143,7 +2135,6 @@ EVP_KEYEXCH *EVP_KEYEXCH_fetch(OSSL_LIB_CTX *ctx, const char *algorithm,
                                const char *properties);
 OSSL_PROVIDER *EVP_KEYEXCH_get0_provider(const EVP_KEYEXCH *exchange);
 int EVP_KEYEXCH_is_a(const EVP_KEYEXCH *keyexch, const char *name);
-int EVP_KEYEXCH_get_number(const EVP_KEYEXCH *keyexch);
 const char *EVP_KEYEXCH_get0_name(const EVP_KEYEXCH *keyexch);
 const char *EVP_KEYEXCH_get0_description(const EVP_KEYEXCH *keyexch);
 void EVP_KEYEXCH_do_all_provided(OSSL_LIB_CTX *libctx,
diff --git a/include/openssl/kdf.h b/include/openssl/kdf.h
index 2cc4fc4ad2..0983230a48 100644
--- a/include/openssl/kdf.h
+++ b/include/openssl/kdf.h
@@ -33,7 +33,6 @@ EVP_KDF *EVP_KDF_fetch(OSSL_LIB_CTX *libctx, const char *algorithm,
 EVP_KDF_CTX *EVP_KDF_CTX_new(EVP_KDF *kdf);
 void EVP_KDF_CTX_free(EVP_KDF_CTX *ctx);
 EVP_KDF_CTX *EVP_KDF_CTX_dup(const EVP_KDF_CTX *src);
-int EVP_KDF_get_number(const EVP_KDF *kdf);
 const char *EVP_KDF_get0_description(const EVP_KDF *kdf);
 int EVP_KDF_is_a(const EVP_KDF *kdf, const char *name);
 const char *EVP_KDF_get0_name(const EVP_KDF *kdf);
diff --git a/include/openssl/store.h b/include/openssl/store.h
index 746bb0321e..c3e9beeff6 100644
--- a/include/openssl/store.h
+++ b/include/openssl/store.h
@@ -261,7 +261,6 @@ void OSSL_STORE_LOADER_free(OSSL_STORE_LOADER *loader);
 const OSSL_PROVIDER *OSSL_STORE_LOADER_get0_provider(const OSSL_STORE_LOADER *
                                                 loader);
 const char *OSSL_STORE_LOADER_get0_properties(const OSSL_STORE_LOADER *loader);
-int OSSL_STORE_LOADER_get_number(const OSSL_STORE_LOADER *loader);
 const char *OSSL_STORE_LOADER_get0_description(const OSSL_STORE_LOADER *loader);
 int OSSL_STORE_LOADER_is_a(const OSSL_STORE_LOADER *loader,
                            const char *scheme);
diff --git a/util/libcrypto.num b/util/libcrypto.num
index f53092a0a4..5b1a67dec0 100644
--- a/util/libcrypto.num
+++ b/util/libcrypto.num
@@ -4783,13 +4783,6 @@ EVP_KEYMGMT_names_do_all                4910	3_0_0	EXIST::FUNCTION:
 EVP_KEYEXCH_names_do_all                4911	3_0_0	EXIST::FUNCTION:
 EVP_KDF_names_do_all                    4912	3_0_0	EXIST::FUNCTION:
 EVP_SIGNATURE_names_do_all              4913	3_0_0	EXIST::FUNCTION:
-EVP_MD_get_number                       4914	3_0_0	EXIST::FUNCTION:
-EVP_CIPHER_get_number                   4915	3_0_0	EXIST::FUNCTION:
-EVP_MAC_get_number                      4916	3_0_0	EXIST::FUNCTION:
-EVP_KEYMGMT_get_number                  4917	3_0_0	EXIST::FUNCTION:
-EVP_KEYEXCH_get_number                  4918	3_0_0	EXIST::FUNCTION:
-EVP_KDF_get_number                      4919	3_0_0	EXIST::FUNCTION:
-EVP_SIGNATURE_get_number                4920	3_0_0	EXIST::FUNCTION:
 OSSL_CMP_CTX_snprint_PKIStatus          4921	3_0_0	EXIST::FUNCTION:CMP
 OSSL_CMP_HDR_get0_transactionID         4922	3_0_0	EXIST::FUNCTION:CMP
 OSSL_CMP_HDR_get0_recipNonce            4923	3_0_0	EXIST::FUNCTION:CMP
@@ -4805,7 +4798,6 @@ EVP_ASYM_CIPHER_up_ref                  4932	3_0_0	EXIST::FUNCTION:
 EVP_ASYM_CIPHER_get0_provider           4933	3_0_0	EXIST::FUNCTION:
 EVP_ASYM_CIPHER_fetch                   4934	3_0_0	EXIST::FUNCTION:
 EVP_ASYM_CIPHER_is_a                    4935	3_0_0	EXIST::FUNCTION:
-EVP_ASYM_CIPHER_get_number              4936	3_0_0	EXIST::FUNCTION:
 EVP_ASYM_CIPHER_do_all_provided         4937	3_0_0	EXIST::FUNCTION:
 EVP_ASYM_CIPHER_names_do_all            4938	3_0_0	EXIST::FUNCTION:
 EVP_PKEY_CTX_set_rsa_padding            4939	3_0_0	EXIST::FUNCTION:
@@ -4827,7 +4819,6 @@ EVP_PKEY_meth_get_digestverify          4954	3_0_0	EXIST::FUNCTION:DEPRECATEDIN_
 OSSL_ENCODER_up_ref                     4955	3_0_0	EXIST::FUNCTION:
 OSSL_ENCODER_free                       4956	3_0_0	EXIST::FUNCTION:
 OSSL_ENCODER_fetch                      4957	3_0_0	EXIST::FUNCTION:
-OSSL_ENCODER_get_number                 4958	3_0_0	EXIST::FUNCTION:
 OSSL_ENCODER_is_a                       4959	3_0_0	EXIST::FUNCTION:
 OSSL_ENCODER_get0_provider              4960	3_0_0	EXIST::FUNCTION:
 OSSL_ENCODER_do_all_provided            4961	3_0_0	EXIST::FUNCTION:
@@ -5043,7 +5034,6 @@ OSSL_PARAM_set_all_unmodified           5170	3_0_0	EXIST::FUNCTION:
 EVP_RAND_fetch                          5171	3_0_0	EXIST::FUNCTION:
 EVP_RAND_up_ref                         5172	3_0_0	EXIST::FUNCTION:
 EVP_RAND_free                           5173	3_0_0	EXIST::FUNCTION:
-EVP_RAND_get_number                     5174	3_0_0	EXIST::FUNCTION:
 EVP_RAND_get0_name                      5175	3_0_0	EXIST::FUNCTION:
 EVP_RAND_is_a                           5176	3_0_0	EXIST::FUNCTION:
 EVP_RAND_get0_provider                  5177	3_0_0	EXIST::FUNCTION:
@@ -5115,7 +5105,6 @@ OSSL_DECODER_up_ref                     5242	3_0_0	EXIST::FUNCTION:
 OSSL_DECODER_free                       5243	3_0_0	EXIST::FUNCTION:
 OSSL_DECODER_get0_provider              5244	3_0_0	EXIST::FUNCTION:
 OSSL_DECODER_get0_properties            5245	3_0_0	EXIST::FUNCTION:
-OSSL_DECODER_get_number                 5246	3_0_0	EXIST::FUNCTION:
 OSSL_DECODER_is_a                       5247	3_0_0	EXIST::FUNCTION:
 OSSL_DECODER_do_all_provided            5248	3_0_0	EXIST::FUNCTION:
 OSSL_DECODER_names_do_all               5249	3_0_0	EXIST::FUNCTION:
@@ -5219,7 +5208,6 @@ OSSL_STORE_LOADER_fetch                 5346	3_0_0	EXIST::FUNCTION:
 OSSL_STORE_LOADER_up_ref                5347	3_0_0	EXIST::FUNCTION:
 OSSL_STORE_LOADER_get0_provider         5348	3_0_0	EXIST::FUNCTION:
 OSSL_STORE_LOADER_get0_properties       5349	3_0_0	EXIST::FUNCTION:
-OSSL_STORE_LOADER_get_number            5350	3_0_0	EXIST::FUNCTION:
 OSSL_STORE_LOADER_is_a                  5351	3_0_0	EXIST::FUNCTION:
 OSSL_STORE_LOADER_do_all_provided       5352	3_0_0	EXIST::FUNCTION:
 OSSL_STORE_LOADER_names_do_all          5353	3_0_0	EXIST::FUNCTION:
@@ -5245,7 +5233,6 @@ EVP_KEM_up_ref                          5372	3_0_0	EXIST::FUNCTION:
 EVP_KEM_get0_provider                   5373	3_0_0	EXIST::FUNCTION:
 EVP_KEM_fetch                           5374	3_0_0	EXIST::FUNCTION:
 EVP_KEM_is_a                            5375	3_0_0	EXIST::FUNCTION:
-EVP_KEM_get_number                      5376	3_0_0	EXIST::FUNCTION:
 EVP_KEM_do_all_provided                 5377	3_0_0	EXIST::FUNCTION:
 EVP_KEM_names_do_all                    5378	3_0_0	EXIST::FUNCTION:
 EVP_PKEY_encapsulate_init               5379	3_0_0	EXIST::FUNCTION:


More information about the openssl-commits mailing list