namespace {
-const char* const LABEL = "label";
-const char* const CONTEXT = "context";
+const unsigned char FIXED_INPUT[] = {0x6c, 0x61, 0x62, 0x65, 0x6c, 0x00, 0x63, 0x6f,
+ 0x6e, 0x74, 0x65, 0x78, 0x74, 0x00, 0x01, 0x00,
+ 0x00};
const char* const SECRET_ALIAS = "temporary_shared_e2ee_secret";
constexpr size_t ITERATIONS = 1000;
if (ret != CKMC_ERROR_NONE)
return ret;
+ ret = ckmc_param_list_set_integer(kbkdf_params.get(),
+ CKMC_PARAM_KBKDF_RLEN,
+ 8);
+ if (ret != CKMC_ERROR_NONE)
+ return ret;
+
ret = ckmc_param_list_set_integer(kbkdf_params.get(),
CKMC_PARAM_KBKDF_COUNTER_LOCATION,
CKMC_KBKDF_COUNTER_BEFORE_FIXED);
if (ret != CKMC_ERROR_NONE)
return ret;
- auto [label_buf, ret4] = makeBuffer(reinterpret_cast<const unsigned char*>(LABEL),
- strlen(LABEL));
+ auto [fixed_buf, ret4] = makeBuffer(FIXED_INPUT, sizeof(FIXED_INPUT)/sizeof(FIXED_INPUT[0]));
if (ret4 != CKMC_ERROR_NONE)
return ret4;
- ret = ckmc_param_list_set_buffer(kbkdf_params.get(), CKMC_PARAM_KBKDF_LABEL, label_buf.get());
- if (ret != CKMC_ERROR_NONE)
- return ret;
-
- auto [context_buf, ret5] = makeBuffer(reinterpret_cast<const unsigned char*>(CONTEXT),
- strlen(CONTEXT));
- if (ret5 != CKMC_ERROR_NONE)
- return ret5;
-
- ret = ckmc_param_list_set_buffer(kbkdf_params.get(),
- CKMC_PARAM_KBKDF_CONTEXT,
- context_buf.get());
+ ret = ckmc_param_list_set_buffer(kbkdf_params.get(), CKMC_PARAM_KBKDF_FIXED_INPUT, fixed_buf.get());
if (ret != CKMC_ERROR_NONE)
return ret;