[UTC][capi-key-manager][non-ACR] Fix key-manager UTC for alias listing APIs 05/207405/4
authorTomasz Swierczek <t.swierczek@samsung.com>
Tue, 4 Jun 2019 08:51:29 +0000 (10:51 +0200)
committerTomasz Swierczek <t.swierczek@samsung.com>
Wed, 5 Jun 2019 07:58:00 +0000 (09:58 +0200)
Change-Id: I4703832add7fb4b1e86869ca23f516e435d5eb0f

src/utc/key-manager/tct-key-manager-core_mobile.h
src/utc/key-manager/tct-key-manager-core_tizeniot.h
src/utc/key-manager/tct-key-manager-core_wearable.h
src/utc/key-manager/utc-key-manager-storage.c
src/utc/key-manager/utc-key-manager-type.c

index 080464c9ba90ce537699b28cc901bf210684c4c2..44360edca007c75dd6ad8d0b6e2f4fcd83d37813 100755 (executable)
@@ -166,7 +166,8 @@ extern int utc_ckmc_get_key_alias_info_list_p(void);
 extern int utc_ckmc_get_key_alias_info_list_n(void);
 extern int utc_ckmc_get_cert_alias_info_list_p(void);
 extern int utc_ckmc_get_cert_alias_info_list_n(void);
-extern int utc_ckmc_get_data_alias_info_list_p(void);
+extern int utc_ckmc_get_data_alias_info_list_p1(void);
+extern int utc_ckmc_get_data_alias_info_list_p2(void);
 extern int utc_ckmc_get_data_alias_info_list_n(void);
 
 testcase tc_array[] = {
@@ -310,7 +311,8 @@ testcase tc_array[] = {
        {"utc_ckmc_get_key_alias_info_list_n",utc_ckmc_get_key_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_cert_alias_info_list_p",utc_ckmc_get_cert_alias_info_list_p,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_cert_alias_info_list_n",utc_ckmc_get_cert_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
-       {"utc_ckmc_get_data_alias_info_list_p",utc_ckmc_get_data_alias_info_list_p,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
+       {"utc_ckmc_get_data_alias_info_list_p1",utc_ckmc_get_data_alias_info_list_p1,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
+       {"utc_ckmc_get_data_alias_info_list_p2",utc_ckmc_get_data_alias_info_list_p2,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_data_alias_info_list_n",utc_ckmc_get_data_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {NULL, NULL}
 };
index 080464c9ba90ce537699b28cc901bf210684c4c2..44360edca007c75dd6ad8d0b6e2f4fcd83d37813 100755 (executable)
@@ -166,7 +166,8 @@ extern int utc_ckmc_get_key_alias_info_list_p(void);
 extern int utc_ckmc_get_key_alias_info_list_n(void);
 extern int utc_ckmc_get_cert_alias_info_list_p(void);
 extern int utc_ckmc_get_cert_alias_info_list_n(void);
-extern int utc_ckmc_get_data_alias_info_list_p(void);
+extern int utc_ckmc_get_data_alias_info_list_p1(void);
+extern int utc_ckmc_get_data_alias_info_list_p2(void);
 extern int utc_ckmc_get_data_alias_info_list_n(void);
 
 testcase tc_array[] = {
@@ -310,7 +311,8 @@ testcase tc_array[] = {
        {"utc_ckmc_get_key_alias_info_list_n",utc_ckmc_get_key_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_cert_alias_info_list_p",utc_ckmc_get_cert_alias_info_list_p,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_cert_alias_info_list_n",utc_ckmc_get_cert_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
-       {"utc_ckmc_get_data_alias_info_list_p",utc_ckmc_get_data_alias_info_list_p,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
+       {"utc_ckmc_get_data_alias_info_list_p1",utc_ckmc_get_data_alias_info_list_p1,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
+       {"utc_ckmc_get_data_alias_info_list_p2",utc_ckmc_get_data_alias_info_list_p2,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_data_alias_info_list_n",utc_ckmc_get_data_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {NULL, NULL}
 };
index 080464c9ba90ce537699b28cc901bf210684c4c2..44360edca007c75dd6ad8d0b6e2f4fcd83d37813 100755 (executable)
@@ -166,7 +166,8 @@ extern int utc_ckmc_get_key_alias_info_list_p(void);
 extern int utc_ckmc_get_key_alias_info_list_n(void);
 extern int utc_ckmc_get_cert_alias_info_list_p(void);
 extern int utc_ckmc_get_cert_alias_info_list_n(void);
-extern int utc_ckmc_get_data_alias_info_list_p(void);
+extern int utc_ckmc_get_data_alias_info_list_p1(void);
+extern int utc_ckmc_get_data_alias_info_list_p2(void);
 extern int utc_ckmc_get_data_alias_info_list_n(void);
 
 testcase tc_array[] = {
@@ -310,7 +311,8 @@ testcase tc_array[] = {
        {"utc_ckmc_get_key_alias_info_list_n",utc_ckmc_get_key_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_cert_alias_info_list_p",utc_ckmc_get_cert_alias_info_list_p,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_cert_alias_info_list_n",utc_ckmc_get_cert_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
-       {"utc_ckmc_get_data_alias_info_list_p",utc_ckmc_get_data_alias_info_list_p,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
+       {"utc_ckmc_get_data_alias_info_list_p1",utc_ckmc_get_data_alias_info_list_p1,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
+       {"utc_ckmc_get_data_alias_info_list_p2",utc_ckmc_get_data_alias_info_list_p2,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {"utc_ckmc_get_data_alias_info_list_n",utc_ckmc_get_data_alias_info_list_n,utc_key_manager_type_startup,utc_key_manager_type_cleanup},
        {NULL, NULL}
 };
index 7a9385628570b7981b8bfb4a42900046b793291d..ee06148c9d60fc7542e3845c5dc8487067aae173 100755 (executable)
@@ -1597,15 +1597,15 @@ int utc_ckmc_allow_deny_n2(void)
 /**
 * @testcase         utc_ckmc_get_key_alias_info_list_p
 * @since            5.5
-* @scenario         Gets all available key aliases
+* @scenario         Gets all available key aliases (should return none)
 */
 int utc_ckmc_get_key_alias_info_list_p(void)
 {
-    ckmc_alias_info_list_s* ppalias_list;
+    ckmc_alias_info_list_s* ppalias_list = NULL;
 
     int retCode = ckmc_get_key_alias_info_list(&ppalias_list);
     ckmc_alias_info_list_all_free(ppalias_list);
-    assert_eq(retCode, CKMC_ERROR_NONE);
+    assert_eq(retCode, CKMC_ERROR_DB_ALIAS_UNKNOWN);
     return 0;
 }
 
@@ -1624,15 +1624,15 @@ int utc_ckmc_get_key_alias_info_list_n(void)
 /**
 * @testcase         utc_ckmc_get_cert_alias_info_list_p
 * @since            5.5
-* @scenario         Gets all available certificate aliases
+* @scenario         Gets all available certificate aliases (should return none)
 */
 int utc_ckmc_get_cert_alias_info_list_p(void)
 {
-    ckmc_alias_info_list_s* ppalias_list;
+    ckmc_alias_info_list_s* ppalias_list = NULL;
 
     int retCode = ckmc_get_cert_alias_info_list(&ppalias_list);
     ckmc_alias_info_list_all_free(ppalias_list);
-    assert_eq(retCode, CKMC_ERROR_NONE);
+    assert_eq(retCode, CKMC_ERROR_DB_ALIAS_UNKNOWN);
     return 0;
 }
 
@@ -1649,16 +1649,52 @@ int utc_ckmc_get_cert_alias_info_list_n(void)
 }
 
 /**
-* @testcase         utc_ckmc_get_data_alias_info_list_p
+* @testcase         utc_ckmc_get_data_alias_info_list_p1
 * @since            5.5
-* @scenario         Gets all available data aliases
+* @scenario         Gets all available data aliases (should return none)
 */
-int utc_ckmc_get_data_alias_info_list_p(void)
+int utc_ckmc_get_data_alias_info_list_p1(void)
 {
-    ckmc_alias_info_list_s* ppalias_list;
+    ckmc_alias_info_list_s* ppalias_list = NULL;
 
     int retCode = ckmc_get_data_alias_info_list(&ppalias_list);
     ckmc_alias_info_list_all_free(ppalias_list);
+    assert_eq(retCode, CKMC_ERROR_DB_ALIAS_UNKNOWN);
+    return 0;
+}
+
+/**
+* @testcase         utc_ckmc_get_data_alias_info_list_p2
+* @since            5.5
+* @scenario         Gets all available data aliases (should return 1)
+*/
+int utc_ckmc_get_data_alias_info_list_p2(void)
+{
+    ckmc_alias_info_list_s* ppalias_list = NULL;
+
+    int retCode;
+    char* policy_password = NULL;
+    char* bin_data = "My bin data";
+    char* alias = "save_data_p";
+    ckmc_raw_buffer_s test_data;
+    ckmc_policy_s test_policy;
+
+    test_data.data = (unsigned char *) bin_data;
+    test_data.size = strlen(bin_data);
+
+    test_policy.password = policy_password;
+    test_policy.extractable = true;
+
+    retCode = ckmc_save_data(alias, test_data, test_policy);
+    assert_eq(retCode, CKMC_ERROR_NONE);
+
+    retCode = ckmc_get_data_alias_info_list(&ppalias_list);
+    assert_eq(retCode, CKMC_ERROR_NONE);
+    assert_eq(ppalias_list->next, NULL);
+
+    ckmc_alias_info_list_all_free(ppalias_list);
+
+    retCode = ckmc_remove_alias(alias);
     assert_eq(retCode, CKMC_ERROR_NONE);
     return 0;
 }
index b3c15f4d4eca72fa0fbce9bc8de8b8d0bb305f62..663fd15e62eb9b0f3c1ed30a71a66ac59090daf4 100755 (executable)
@@ -39,6 +39,17 @@ static const char *RSA_PUBKEY =
     "zQIDAQAB\n"
     "-----END PUBLIC KEY-----";
 
+static const char* RSA_PUB_KEY_PEM2 =
+    "-----BEGIN PUBLIC KEY-----\n"
+    "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2b1bXDa+S8/MGWnMkru4\n"
+    "T4tUddtZNi0NVjQn9RFH1NMa220GsRhRO56F77FlSVFKfSfVZKIiWg6C+DVCkcLf\n"
+    "zXJ/Z0pvwOQYBAqVMFjV6efQGN0JzJ1Unu7pPRiZl7RKGEI+cyzzrcDyrLLrQ2W7\n"
+    "0ZySkNEOv6Frx9JgC5NExuYY4lk2fQQa38JXiZkfyzif2em0px7mXbyf5LjccsKq\n"
+    "v1e+XLtMsL0ZefRcqsP++NzQAI8fKX7WBT+qK0HJDLiHrKOTWYzx6CwJ66LD/vvf\n"
+    "j55xtsKDLVDbsotvf8/m6VLMab+vqKk11TP4tq6yo0mwyTADvgl1zowQEO9I1W6o\n"
+    "zQIDAQAB\n"
+    "-----END PUBLIC KEY-----";
+
 static const char *RSA_PRIKEY =
     "-----BEGIN RSA PRIVATE KEY-----\n"
     "Proc-Type: 4,ENCRYPTED\n"
@@ -1850,38 +1861,35 @@ int utc_ckmc_generate_new_params_n(void)
  */
 int utc_ckmc_alias_info_get_alias_p(void)
 {
-    ckmc_key_s *key;
-    const char* alias = "new test alias";
     ckmc_alias_info_list_s *ppalias_list, *tmp;
-    ckmc_policy_s policy;
-    policy.password = NULL;
-    policy.extractable = 1;
+    ckmc_key_s test_key;
+    ckmc_policy_s test_policy;
+    int ret;
+    char* key_password = NULL;
+    char* policy_password = NULL;
+    char* current_alias;
+    const char* alias = "utc_ckmc_alias_info_get_alias_p_test_alias";
+    bool foundAlias = false;
 
-    int ret = ckmc_key_new(
-            (unsigned char *)RSA_PUBKEY,
-            strlen(RSA_PUBKEY),
-            CKMC_KEY_RSA_PUBLIC,
-            NULL,
-            &key);
+    test_key.raw_key =  (unsigned char *)RSA_PUB_KEY_PEM2;
+    test_key.key_size = strlen(RSA_PUB_KEY_PEM2);
+    test_key.key_type = CKMC_KEY_RSA_PUBLIC;
+    test_key.password = key_password;
 
-    assert_eq(ret, CKMC_ERROR_NONE);
-    assert_eq(key->key_size, strlen(RSA_PUBKEY));
-    assert_eq(key->key_type, CKMC_KEY_RSA_PUBLIC);
-    assert_eq(key->password, NULL);
-    ret = ckmc_save_key(alias, *key, policy);
-    ckmc_key_free(key);
-    assert_eq(ret, CKMC_ERROR_NONE);
+    test_policy.password = policy_password;
+    test_policy.extractable = true;
 
+    ret = ckmc_save_key(alias, test_key, test_policy);
+    assert_eq(ret, CKMC_ERROR_NONE);
     ret = ckmc_get_key_alias_info_list(&ppalias_list);
     assert_eq(ret, CKMC_ERROR_NONE);
 
-    char* current_alias;
     tmp = ppalias_list;
-    bool foundAlias = false;
+
     while (tmp) {
         ret = ckmc_alias_info_get_alias(tmp->info, &current_alias);
         assert_eq(ret, CKMC_ERROR_NONE);
-        if (strcmp(current_alias, alias)) {
+        if (strstr(current_alias, alias)) {
             foundAlias = true;
             break;
         }
@@ -1915,38 +1923,34 @@ int utc_ckmc_alias_info_get_alias_n(void)
  */
 int utc_ckmc_alias_info_is_password_protected_p(void)
 {
-    ckmc_key_s *key;
-    const char* alias = "new test alias";
-    ckmc_alias_info_list_s *ppalias_list, *tmp;
-    ckmc_policy_s policy;
-    policy.password = NULL;
-    policy.extractable = 1;
+ckmc_alias_info_list_s *ppalias_list, *tmp;
+    ckmc_key_s test_key;
+    ckmc_policy_s test_policy;
+    int ret;
+    char* current_alias;
+    const char* alias = "utc_ckmc_alias_info_get_alias_p_test_alias";
+    bool foundAlias = false;
 
-    int ret = ckmc_key_new(
-            (unsigned char *)RSA_PUBKEY,
-            strlen(RSA_PUBKEY),
-            CKMC_KEY_RSA_PUBLIC,
-            NULL,
-            &key);
+    test_key.raw_key =  (unsigned char *)RSA_PUB_KEY_PEM2;
+    test_key.key_size = strlen(RSA_PUB_KEY_PEM2);
+    test_key.key_type = CKMC_KEY_RSA_PUBLIC;
+    test_key.password = NULL;
 
-    assert_eq(ret, CKMC_ERROR_NONE);
-    assert_eq(key->key_size, strlen(RSA_PUBKEY));
-    assert_eq(key->key_type, CKMC_KEY_RSA_PUBLIC);
-    assert_eq(key->password, NULL);
-    ret = ckmc_save_key(alias, *key, policy);
-    ckmc_key_free(key);
+    test_policy.password = NULL;
+    test_policy.extractable = true;
+
+    ret = ckmc_save_key(alias, test_key, test_policy);
     assert_eq(ret, CKMC_ERROR_NONE);
 
     ret = ckmc_get_key_alias_info_list(&ppalias_list);
     assert_eq(ret, CKMC_ERROR_NONE);
 
-    char* current_alias;
     tmp = ppalias_list;
-    bool foundAlias = false;
+
     while (tmp) {
         ret = ckmc_alias_info_get_alias(tmp->info, &current_alias);
         assert_eq(ret, CKMC_ERROR_NONE);
-        if (strcmp(current_alias, alias)) {
+        if (strstr(current_alias, alias)) {
             foundAlias = true;
             bool is_password_protected;
             ret = ckmc_alias_info_is_password_protected(tmp->info, &is_password_protected);