]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
SKEYMGMT: Expose settable params
authorSimo Sorce <simo@redhat.com>
Wed, 23 Apr 2025 22:38:59 +0000 (18:38 -0400)
committerTomas Mraz <tomas@openssl.org>
Fri, 25 Apr 2025 16:51:58 +0000 (18:51 +0200)
This is needed for tools that do things like passing
    -skeyopt hexraw-bytes:0102030405060708090a0b0c0d0e0f10
to tools.

Signed-off-by: Simo Sorce <simo@redhat.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/27483)

providers/implementations/skeymgmt/aes_skmgmt.c
providers/implementations/skeymgmt/generic.c
providers/implementations/skeymgmt/skeymgmt_lcl.h

index 6d3b5f377fb8ab5f863b086a95d0919c794cebde..17be480131fa49bababfd2faa7786f1f3e7e73bb 100644 (file)
@@ -48,5 +48,7 @@ const OSSL_DISPATCH ossl_aes_skeymgmt_functions[] = {
     { OSSL_FUNC_SKEYMGMT_FREE, (void (*)(void))generic_free },
     { OSSL_FUNC_SKEYMGMT_IMPORT, (void (*)(void))aes_import },
     { OSSL_FUNC_SKEYMGMT_EXPORT, (void (*)(void))aes_export },
+    { OSSL_FUNC_SKEYMGMT_IMP_SETTABLE_PARAMS,
+      (void (*)(void))generic_imp_settable_params },
     OSSL_DISPATCH_END
 };
index b41bf8e12dcb434b9c66723f81dfd132529109d4..5fb3fad7e3b11e7fad85f561cfe3ffb52e145a08 100644 (file)
@@ -65,6 +65,16 @@ end:
     return generic;
 }
 
+static const OSSL_PARAM generic_import_params[] = {
+    OSSL_PARAM_octet_string(OSSL_SKEY_PARAM_RAW_BYTES, NULL, 0),
+    OSSL_PARAM_END
+};
+
+const OSSL_PARAM *generic_imp_settable_params(void *provctx)
+{
+    return generic_import_params;
+}
+
 int generic_export(void *keydata, int selection,
                    OSSL_CALLBACK *param_callback, void *cbarg)
 {
@@ -89,5 +99,7 @@ const OSSL_DISPATCH ossl_generic_skeymgmt_functions[] = {
     { OSSL_FUNC_SKEYMGMT_FREE, (void (*)(void))generic_free },
     { OSSL_FUNC_SKEYMGMT_IMPORT, (void (*)(void))generic_import },
     { OSSL_FUNC_SKEYMGMT_EXPORT, (void (*)(void))generic_export },
+    { OSSL_FUNC_SKEYMGMT_IMP_SETTABLE_PARAMS,
+      (void (*)(void))generic_imp_settable_params },
     OSSL_DISPATCH_END
 };
index c180c1d303590f888f40ed7219081c6a93a7e482..a7e7605050d3dfb5e7a1589554799ce284f94164 100644 (file)
@@ -15,5 +15,6 @@
 OSSL_FUNC_skeymgmt_import_fn generic_import;
 OSSL_FUNC_skeymgmt_export_fn generic_export;
 OSSL_FUNC_skeymgmt_free_fn generic_free;
+OSSL_FUNC_skeymgmt_imp_settable_params_fn generic_imp_settable_params;
 
 #endif