summaryrefslogtreecommitdiff
path: root/core/tee/tee_cryp_utl.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/tee/tee_cryp_utl.c')
-rw-r--r--core/tee/tee_cryp_utl.c68
1 files changed, 6 insertions, 62 deletions
diff --git a/core/tee/tee_cryp_utl.c b/core/tee/tee_cryp_utl.c
index 00a87bf7..b37d1db7 100644
--- a/core/tee/tee_cryp_utl.c
+++ b/core/tee/tee_cryp_utl.c
@@ -15,43 +15,14 @@
#include <trace.h>
#include <utee_defines.h>
-TEE_Result tee_hash_get_digest_size(uint32_t algo, size_t *size)
+TEE_Result tee_alg_get_digest_size(uint32_t algo, size_t *size)
{
- switch (algo) {
- case TEE_ALG_MD5:
- case TEE_ALG_HMAC_MD5:
- *size = TEE_MD5_HASH_SIZE;
- break;
- case TEE_ALG_SHA1:
- case TEE_ALG_HMAC_SHA1:
- case TEE_ALG_DSA_SHA1:
- *size = TEE_SHA1_HASH_SIZE;
- break;
- case TEE_ALG_SHA224:
- case TEE_ALG_HMAC_SHA224:
- case TEE_ALG_DSA_SHA224:
- *size = TEE_SHA224_HASH_SIZE;
- break;
- case TEE_ALG_SHA256:
- case TEE_ALG_HMAC_SHA256:
- case TEE_ALG_DSA_SHA256:
- *size = TEE_SHA256_HASH_SIZE;
- break;
- case TEE_ALG_SHA384:
- case TEE_ALG_HMAC_SHA384:
- *size = TEE_SHA384_HASH_SIZE;
- break;
- case TEE_ALG_SHA512:
- case TEE_ALG_HMAC_SHA512:
- *size = TEE_SHA512_HASH_SIZE;
- break;
- case TEE_ALG_SM3:
- case TEE_ALG_HMAC_SM3:
- *size = TEE_SM3_HASH_SIZE;
- break;
- default:
+ size_t digest_size = TEE_ALG_GET_DIGEST_SIZE(algo);
+
+ if (!digest_size)
return TEE_ERROR_NOT_SUPPORTED;
- }
+
+ *size = digest_size;
return TEE_SUCCESS;
}
@@ -84,33 +55,6 @@ out:
return res;
}
-TEE_Result tee_mac_get_digest_size(uint32_t algo, size_t *size)
-{
- switch (algo) {
- case TEE_ALG_HMAC_MD5:
- case TEE_ALG_HMAC_SHA224:
- case TEE_ALG_HMAC_SHA1:
- case TEE_ALG_HMAC_SHA256:
- case TEE_ALG_HMAC_SHA384:
- case TEE_ALG_HMAC_SHA512:
- case TEE_ALG_HMAC_SM3:
- return tee_hash_get_digest_size(algo, size);
- case TEE_ALG_AES_CBC_MAC_NOPAD:
- case TEE_ALG_AES_CBC_MAC_PKCS5:
- case TEE_ALG_AES_CMAC:
- *size = TEE_AES_BLOCK_SIZE;
- return TEE_SUCCESS;
- case TEE_ALG_DES_CBC_MAC_NOPAD:
- case TEE_ALG_DES_CBC_MAC_PKCS5:
- case TEE_ALG_DES3_CBC_MAC_NOPAD:
- case TEE_ALG_DES3_CBC_MAC_PKCS5:
- *size = TEE_DES_BLOCK_SIZE;
- return TEE_SUCCESS;
- default:
- return TEE_ERROR_NOT_SUPPORTED;
- }
-}
-
TEE_Result tee_cipher_get_block_size(uint32_t algo, size_t *size)
{
switch (algo) {