From: Krzysztof Jackiewicz Date: Tue, 10 Oct 2023 10:35:16 +0000 (+0200) Subject: [UTC][key-manager][ACR-1797] Tests for OAEP hash parameter X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d5be9e3f805daf0a815789bfdb089e1e72dda6f9;p=test%2Ftct%2Fnative%2Fapi.git [UTC][key-manager][ACR-1797] Tests for OAEP hash parameter Change-Id: I6cfa1d2b7512435a0aebe9d5b06b5c34ceff9f8f --- diff --git a/src/utc/key-manager/utc-key-manager-crypto.c b/src/utc/key-manager/utc-key-manager-crypto.c index 77aed0ab3..54fa9e935 100755 --- a/src/utc/key-manager/utc-key-manager-crypto.c +++ b/src/utc/key-manager/utc-key-manager-crypto.c @@ -1505,6 +1505,13 @@ int utc_ckmc_import_wrapped_key_n(void) 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); @@ -1532,8 +1539,19 @@ int utc_ckmc_import_wrapped_key_n(void) 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); @@ -1543,8 +1561,8 @@ int utc_ckmc_import_wrapped_key_n(void) /** * @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) { @@ -1575,6 +1593,9 @@ 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); @@ -1632,6 +1653,13 @@ int utc_ckmc_export_wrapped_key_n(void) 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); @@ -1656,7 +1684,18 @@ int utc_ckmc_export_wrapped_key_n(void) 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);