set max_object_size to key_bits_size for EC key creating 12/297112/1
authorDongsun Lee <ds73.lee@samsung.com>
Thu, 10 Aug 2023 08:17:02 +0000 (17:17 +0900)
committerDongsun Lee <ds73.lee@samsung.com>
Thu, 10 Aug 2023 08:17:19 +0000 (17:17 +0900)
Change-Id: Ib042e9cdae3cbb00f61893706e1ce8942d6472b1

ta/src/internal.c

index da04dda6ff135940fb5be7c02237ca592071c53c..438b0977ee6d97672fa8ede0c276704a944e87b9 100644 (file)
@@ -231,19 +231,8 @@ TEE_Result KM_CreateRandomKey(uint32_t tee_key_type, uint32_t key_bits_size,
                                                        TEE_ObjectHandle *hndl)
 {
        TEE_Result ret = TEE_SUCCESS;
-       uint32_t max_object_size = key_bits_size;
 
-       switch (tee_key_type) {
-       case TEE_TYPE_ECDSA_PUBLIC_KEY:
-       case TEE_TYPE_ECDSA_KEYPAIR:
-       case TEE_TYPE_ECDH_PUBLIC_KEY:
-       case TEE_TYPE_ECDH_KEYPAIR:
-               // Give enough room for generated keys in private format
-               max_object_size = key_bits_size * 8;
-               break;
-       }
-
-       ret = TEE_AllocateTransientObject(tee_key_type, max_object_size, hndl);
+       ret = TEE_AllocateTransientObject(tee_key_type, key_bits_size, hndl);
        if (TEE_SUCCESS != ret) {
                LOG("TEE_AllocateTransientObject has failed with=%x. key_type = %x size_bits = %u",
                        ret, tee_key_type, key_bits_size);
@@ -264,19 +253,8 @@ TEE_Result KM_CreateKeyFromKey(uint32_t tee_key_type, uint32_t key_bits_size,
                                                        TEE_ObjectHandle srcHndl, TEE_ObjectHandle *dstHndl)
 {
        TEE_Result ret = TEE_SUCCESS;
-       uint32_t max_object_size = key_bits_size;
-
-       switch (tee_key_type) {
-       case TEE_TYPE_ECDSA_PUBLIC_KEY:
-       case TEE_TYPE_ECDSA_KEYPAIR:
-       case TEE_TYPE_ECDH_PUBLIC_KEY:
-       case TEE_TYPE_ECDH_KEYPAIR:
-               // Give enough room for generated keys in private format
-               max_object_size = key_bits_size * 8;
-               break;
-       }
 
-       ret = TEE_AllocateTransientObject(tee_key_type, max_object_size, dstHndl);
+       ret = TEE_AllocateTransientObject(tee_key_type, key_bits_size, dstHndl);
        if (TEE_SUCCESS != ret) {
                LOG("TEE_AllocateTransientObject has failed with=%x. Arguments=(tee_key_type=%X, "
                        "key_bits_size=%d.", ret, tee_key_type, key_bits_size);