1 // SPDX-License-Identifier: BSD-2-Clause
2 /*
3 * Copyright 2018-2020 NXP
4 *
5 * Brief Definition of the Hash's OID
6 */
7
8 /* Driver Crypto includes */
9 #include <drvcrypt_asn1_oid.h>
10 #include <utee_defines.h>
11
12 /*
13 * Hash OID values
14 */
15 const struct drvcrypt_oid drvcrypt_hash_oid[] = {
16 /* empty entry */
17 { NULL, 0 },
18 /* MD5 */
19 { DRVCRYPT_OID_ID_MD5, DRVCRYPT_OID_LEN(DRVCRYPT_OID_ID_MD5) },
20 /* SHA1 */
21 { DRVCRYPT_OID_ID_SHA1, DRVCRYPT_OID_LEN(DRVCRYPT_OID_ID_SHA1) },
22 /* SHA224 */
23 { DRVCRYPT_OID_ID_SHA224, DRVCRYPT_OID_LEN(DRVCRYPT_OID_ID_SHA224) },
24 /* SHA256 */
25 { DRVCRYPT_OID_ID_SHA256, DRVCRYPT_OID_LEN(DRVCRYPT_OID_ID_SHA256) },
26 /* SHA384 */
27 { DRVCRYPT_OID_ID_SHA384, DRVCRYPT_OID_LEN(DRVCRYPT_OID_ID_SHA384) },
28 /* SHA512 */
29 { DRVCRYPT_OID_ID_SHA512, DRVCRYPT_OID_LEN(DRVCRYPT_OID_ID_SHA512) },
30 };
31
drvcrypt_get_alg_hash_oid(uint32_t algo)32 const struct drvcrypt_oid *drvcrypt_get_alg_hash_oid(uint32_t algo)
33 {
34 uint32_t main_alg = TEE_ALG_GET_MAIN_ALG(algo);
35
36 if (main_alg < ARRAY_SIZE(drvcrypt_hash_oid))
37 return &drvcrypt_hash_oid[main_alg];
38
39 return NULL;
40 }
41