summaryrefslogtreecommitdiffstats
path: root/crypto/evp/signature.c
diff options
context:
space:
mode:
authorShane Lontis <shane.lontis@oracle.com>2020-08-12 11:59:43 +1000
committerShane Lontis <shane.lontis@oracle.com>2020-08-12 11:59:43 +1000
commite3efe7a53299dff3cd2222542b6a999b1360d626 (patch)
treec65037e5c1c56b9cb732d5f5725ed1ed81ada946 /crypto/evp/signature.c
parentaf88e64a98a6402dabd41ac2de194444dd285b49 (diff)
Add public API for gettables and settables for keymanagement, signatures and key exchange.
The openssl provider app will now display these params. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/12396)
Diffstat (limited to 'crypto/evp/signature.c')
-rw-r--r--crypto/evp/signature.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/crypto/evp/signature.c b/crypto/evp/signature.c
index 03fd8582f8..67242f59be 100644
--- a/crypto/evp/signature.c
+++ b/crypto/evp/signature.c
@@ -337,6 +337,28 @@ void EVP_SIGNATURE_names_do_all(const EVP_SIGNATURE *signature,
evp_names_do_all(signature->prov, signature->name_id, fn, data);
}
+const OSSL_PARAM *EVP_SIGNATURE_gettable_ctx_params(const EVP_SIGNATURE *sig)
+{
+ void *provctx;
+
+ if (sig == NULL || sig->gettable_ctx_params == NULL)
+ return NULL;
+
+ provctx = ossl_provider_ctx(EVP_SIGNATURE_provider(sig));
+ return sig->gettable_ctx_params(provctx);
+}
+
+const OSSL_PARAM *EVP_SIGNATURE_settable_ctx_params(const EVP_SIGNATURE *sig)
+{
+ void *provctx;
+
+ if (sig == NULL || sig->settable_ctx_params == NULL)
+ return NULL;
+
+ provctx = ossl_provider_ctx(EVP_SIGNATURE_provider(sig));
+ return sig->settable_ctx_params(provctx);
+}
+
static int evp_pkey_signature_init(EVP_PKEY_CTX *ctx, int operation)
{
int ret = 0;