summaryrefslogtreecommitdiffstats
path: root/crypto/evp/kem.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/evp/kem.c')
-rw-r--r--crypto/evp/kem.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/crypto/evp/kem.c b/crypto/evp/kem.c
index 6f0424075a..5b13f0130a 100644
--- a/crypto/evp/kem.c
+++ b/crypto/evp/kem.c
@@ -349,7 +349,6 @@ void EVP_KEM_do_all_provided(OPENSSL_CTX *libctx,
(void (*)(void *))EVP_KEM_free);
}
-
void EVP_KEM_names_do_all(const EVP_KEM *kem,
void (*fn)(const char *name, void *data),
void *data)
@@ -357,3 +356,25 @@ void EVP_KEM_names_do_all(const EVP_KEM *kem,
if (kem->prov != NULL)
evp_names_do_all(kem->prov, kem->name_id, fn, data);
}
+
+const OSSL_PARAM *EVP_KEM_gettable_ctx_params(const EVP_KEM *kem)
+{
+ void *provctx;
+
+ if (kem == NULL || kem->gettable_ctx_params == NULL)
+ return NULL;
+
+ provctx = ossl_provider_ctx(EVP_KEM_provider(kem));
+ return kem->gettable_ctx_params(provctx);
+}
+
+const OSSL_PARAM *EVP_KEM_settable_ctx_params(const EVP_KEM *kem)
+{
+ void *provctx;
+
+ if (kem == NULL || kem->settable_ctx_params == NULL)
+ return NULL;
+
+ provctx = ossl_provider_ctx(EVP_KEM_provider(kem));
+ return kem->settable_ctx_params(provctx);
+}