return ctx;
}
+static const char *fake_skeymgmt_get_key_id(void *keydata)
+{
+ PROV_CIPHER_FAKE_CTX *ctx = (PROV_CIPHER_FAKE_CTX *)keydata;
+
+ if (ctx == NULL || ctx->key_name[0] == '\0')
+ return NULL;
+
+ return ctx->key_name;
+}
+
+static const OSSL_PARAM fake_skeymgmt_known_settable_params[] = {
+ OSSL_PARAM_utf8_string(FAKE_CIPHER_PARAM_KEY_NAME, NULL, 0),
+ OSSL_PARAM_octet_string(OSSL_SKEY_PARAM_RAW_BYTES, NULL, 0),
+ OSSL_PARAM_END
+};
+
+static const OSSL_PARAM *fake_skeymgmt_settable_params(ossl_unused void *provctx)
+{
+ return fake_skeymgmt_known_settable_params;
+}
+
static int fake_skeymgmt_export(void *keydata, int selection,
OSSL_CALLBACK *param_callback, void *cbarg)
{
{ OSSL_FUNC_SKEYMGMT_GENERATE, (void (*)(void))fake_skeymgmt_generate },
{ OSSL_FUNC_SKEYMGMT_IMPORT, (void (*)(void))fake_skeymgmt_import },
{ OSSL_FUNC_SKEYMGMT_EXPORT, (void (*)(void))fake_skeymgmt_export },
+ { OSSL_FUNC_SKEYMGMT_GET_KEY_ID, (void (*)(void))fake_skeymgmt_get_key_id },
+ { OSSL_FUNC_SKEYMGMT_IMP_SETTABLE_PARAMS,
+ (void (*)(void))fake_skeymgmt_settable_params },
+ { OSSL_FUNC_SKEYMGMT_GEN_SETTABLE_PARAMS,
+ (void (*)(void))fake_skeymgmt_settable_params },
OSSL_DISPATCH_END
};