iv_buffer.data = iv;
iv_buffer.size = sizeof(iv);
+ size_t rsa_size = 1024;
+ const char *rsa_prv = "rsa-prv";
+ const char *rsa_pub = "rsa-pub";
+
+ ret = ckmc_create_key_pair_rsa(rsa_size, rsa_prv, rsa_pub, exportable, exportable);
+ assert_eq(ret, CKMC_ERROR_NONE);
+
ret = ckmc_create_key_aes(size, aes_key_alias, exportable);
assert_eq(ret, CKMC_ERROR_NONE);
ret = ckmc_import_wrapped_key(params, aes_key_alias, "", imported_alias, NULL, exportable);
assert_eq(ret, CKMC_ERROR_INVALID_PARAMETER);
+ ret = ckmc_param_list_set_integer(params, CKMC_PARAM_ALGO_TYPE, CKMC_ALGO_RSA_OAEP);
+ assert_eq(ret, CKMC_ERROR_NONE);
+
+ ret = ckmc_param_list_set_integer(params, CKMC_PARAM_ED_OAEP_HASH, CKMC_HASH_SHA384);
+ assert_eq(ret, CKMC_ERROR_NONE);
+
+ ret = ckmc_import_wrapped_key(params, rsa_prv, "", imported_alias, aes_key, exportable);
+ assert_eq(ret, CKMC_ERROR_INVALID_PARAMETER);
+
ckmc_param_list_free(params);
ckmc_remove_alias(aes_key_alias);
+ ckmc_remove_alias(rsa_prv);
+ ckmc_remove_alias(rsa_pub);
ckmc_buffer_free(encrypted);
ckmc_key_free(aes_key);
/**
* @testcase utc_ckmc_export_wrapped_key_p
* @since_tizen 6.0
- * @description Export key with AES GCM algorithm.
- * @scenario Create AES key, wrap it with AES GCM, import and export.
+ * @description Export key with RSA OAEP algorithm.
+ * @scenario Create AES key, wrap it with RSA OAEP, import and export.
*/
int utc_ckmc_export_wrapped_key_p(void)
{
ret = ckmc_generate_new_params(CKMC_ALGO_RSA_OAEP, ¶ms);
assert_eq(ret, CKMC_ERROR_NONE);
+ ret = ckmc_param_list_set_integer(params, CKMC_PARAM_ED_OAEP_HASH, CKMC_HASH_SHA256);
+ assert_eq(ret, CKMC_ERROR_NONE);
+
ret = ckmc_encrypt_data(params, rsa_prv, "", plain_text, &encrypted);
assert_eq(ret, CKMC_ERROR_NONE);
iv_buffer.data = iv;
iv_buffer.size = sizeof(iv);
+ size_t rsa_size = 1024;
+ const char *rsa_prv = "rsa-prv";
+ const char *rsa_pub = "rsa-pub";
+
+ ret = ckmc_create_key_pair_rsa(rsa_size, rsa_prv, rsa_pub, exportable, exportable);
+ assert_eq(ret, CKMC_ERROR_NONE);
+
ret = ckmc_create_key_aes(128, imported_alias, exportable);
assert_eq(ret, CKMC_ERROR_NONE);
ret = ckmc_export_wrapped_key(params, aes_key_alias, "", imported_alias, "", NULL);
assert_eq(ret, CKMC_ERROR_INVALID_PARAMETER);
+ ret = ckmc_param_list_set_integer(params, CKMC_PARAM_ALGO_TYPE, CKMC_ALGO_RSA_OAEP);
+ assert_eq(ret, CKMC_ERROR_NONE);
+
+ ret = ckmc_param_list_set_integer(params, CKMC_PARAM_ED_OAEP_HASH, CKMC_HASH_SHA384);
+ assert_eq(ret, CKMC_ERROR_NONE);
+
+ ret = ckmc_export_wrapped_key(params, rsa_pub, "", imported_alias, "", NULL);
+ assert_eq(ret, CKMC_ERROR_INVALID_PARAMETER);
+
ckmc_param_list_free(params);
+ ckmc_remove_alias(rsa_prv);
+ ckmc_remove_alias(rsa_pub);
ckmc_remove_alias(imported_alias);
ckmc_remove_alias(aes_key_alias);
ckmc_key_free(imported_key);