From: Lukasz Kostyra Date: Mon, 18 Feb 2019 08:56:46 +0000 (+0100) Subject: ssf_crypto: Assign proper key object type in AllocateOperation X-Git-Tag: submit/tizen/20190520.091210~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F09%2F200309%2F2;p=platform%2Fcore%2Fsecurity%2Ftef-simulator.git ssf_crypto: Assign proper key object type in AllocateOperation Change-Id: I3229f0d5922804ce0c0d56aa2c44b61f3f679fd4 --- diff --git a/ssflib/src/ssf_crypto.cpp b/ssflib/src/ssf_crypto.cpp index a0a6852..6844350 100644 --- a/ssflib/src/ssf_crypto.cpp +++ b/ssflib/src/ssf_crypto.cpp @@ -1665,9 +1665,12 @@ TEE_Result TEE_AllocateOperation(TEE_OperationHandle *operation, uint32_t algori } alg_class = TEE_OPERATION_ASYMMETRIC_CIPHER; - key_object_type = TEE_TYPE_RSA_KEYPAIR; + if (mode == TEE_MODE_ENCRYPT) + key_object_type = TEE_TYPE_RSA_PUBLIC_KEY; + else + key_object_type = TEE_TYPE_RSA_KEYPAIR; block_len = 0; - digest_len = 0; + digest_len = 0; break; /* Algorithm Class is SIGNATURE */ @@ -1687,7 +1690,10 @@ TEE_Result TEE_AllocateOperation(TEE_OperationHandle *operation, uint32_t algori } alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE; - key_object_type = TEE_TYPE_RSA_KEYPAIR; + if (mode == TEE_MODE_SIGN) + key_object_type = TEE_TYPE_RSA_KEYPAIR; + else + key_object_type = TEE_TYPE_RSA_PUBLIC_KEY; break; case TEE_ALG_ECDSA_P160: @@ -1701,7 +1707,10 @@ TEE_Result TEE_AllocateOperation(TEE_OperationHandle *operation, uint32_t algori } alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE; - key_object_type = TEE_TYPE_RSA_KEYPAIR; + if (mode == TEE_MODE_SIGN) + key_object_type = TEE_TYPE_ECDSA_KEYPAIR; + else + key_object_type = TEE_TYPE_ECDSA_PUBLIC_KEY; break; case TEE_ALG_DSA_SHA1: @@ -1710,7 +1719,10 @@ TEE_Result TEE_AllocateOperation(TEE_OperationHandle *operation, uint32_t algori } alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE; - key_object_type = TEE_TYPE_DSA_KEYPAIR; + if (mode == TEE_MODE_SIGN) + key_object_type = TEE_TYPE_DSA_KEYPAIR; + else + key_object_type = TEE_TYPE_DSA_PUBLIC_KEY; break; case TEE_ALG_ECDH_P192: @@ -1723,7 +1735,10 @@ TEE_Result TEE_AllocateOperation(TEE_OperationHandle *operation, uint32_t algori } alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE; - key_object_type = TEE_TYPE_ECDH_KEYPAIR; + if (mode == TEE_MODE_SIGN) + key_object_type = TEE_TYPE_ECDH_KEYPAIR; + else + key_object_type = TEE_TYPE_ECDH_KEYPAIR; break; /* Algorithm Class is KEY DERIVATION */