NVIDIA DRIVE OS Linux SDK API Reference

5.2.6 Release
For Test and Development only
tee_trusted_storage_constants.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2010 GlobalPlatform Inc. All Rights Reserved.
3  * The technology provided or described herein is subject to updates, revisions,
4  * and extensions by GlobalPlatform. Use of this information is governed by the
5  * GlobalPlatform license agreement and any use inconsistent with that agreement
6  * is strictly prohibited
7  *
8  * Copyright (c) 2018, NVIDIA CORPORATION. All rights reserved.
9  * NVIDIA CORPORATION and its licensors retain all intellectual property
10  * and proprietary rights in and to this software, related documentation
11  * and any modifications thereto. Any use, reproduction, disclosure or
12  * distribution of this software and related documentation without an express
13  * license agreement from NVIDIA CORPORATION is strictly prohibited.
14  */
15 
32 #ifndef TEE_TRUSTED_STORAGE_CONSTANTS_H
33 #define TEE_TRUSTED_STORAGE_CONSTANTS_H
34 
35 /* -- Object Storage Constants -- */
36 #define TEE_OBJECT_STORAGE_PRIVATE 0x00000001
37 #define TEE_STORAGE_PRIVATE 0U
38 
40 typedef enum {
46  TEE_DATA_FLAG_CREATE = 0x00000200,
48 
50 
52 typedef enum {
53  TEE_USAGE_EXTRACTABLE = 0x00000001,
54  TEE_USAGE_ENCRYPT = 0x00000002,
55  TEE_USAGE_DECRYPT = 0x00000004,
56  TEE_USAGE_MAC = 0x00000008,
57  TEE_USAGE_SIGN = 0x00000010,
58  TEE_USAGE_VERIFY = 0x00000020,
59  TEE_USAGE_DERIVE = 0x00000040,
60 
62 
64 typedef enum {
69 
71 
72 /* Object Types */
73 typedef enum {
74  TEE_TYPE_AES = 0xA00000010U,
75  TEE_TYPE_DES = 0xA00000011U,
76  TEE_TYPE_DES3 = 0xA00000013U,
77  TEE_TYPE_HMAC_MD5 = 0xA00000001U,
78  TEE_TYPE_HMAC_SHA1 = 0xA00000002U,
79  TEE_TYPE_HMAC_SHA224 = 0xA00000003U,
80  TEE_TYPE_HMAC_SHA256 = 0xA00000004U,
81  TEE_TYPE_HMAC_SHA384 = 0xA00000005U,
82  TEE_TYPE_HMAC_SHA512 = 0xA00000006U,
83  TEE_TYPE_RSA_PUBLIC_KEY = 0xA00000030U,
84  TEE_TYPE_RSA_KEYPAIR = 0xA10000030U,
85  TEE_TYPE_DSA_PUBLIC_KEY = 0xA00000031U,
86  TEE_TYPE_DSA_KEYPAIR = 0xA10000031U,
87  TEE_TYPE_DH_KEYPAIR = 0xA10000032U,
88  TEE_TYPE_GENERIC_SECRET = 0xA00000000U,
90 
92 typedef enum {
93  TEE_ATTR_SECRET_VALUE = 0xC0000000U,
94  TEE_ATTR_RSA_MODULES = 0xD0000130U,
97  TEE_ATTR_RSA_PRIME1 = 0xC0000430U,
98  TEE_ATTR_RSA_PRIME2 = 0xC0000530U,
99  TEE_ATTR_RSA_EXPONENT1 = 0xC0000630U,
100  TEE_ATTR_RSA_EXPONENT2 = 0xC0000730U,
102  TEE_ATTR_DSA_PRIME = 0xD0001031U,
103  TEE_ATTR_DSA_SUBPRIME = 0xD0001131U,
104  TEE_ATTR_DSA_BASE = 0xD0001231U,
107  TEE_ATTR_DH_PRIME = 0xD0001032U,
108  TEE_ATTR_DH_SUBPRIME = 0xD0001132U,
109  TEE_ATTR_DH_BASE = 0xD0001232U,
110  TEE_ATTR_DH_X_BITS = 0xF0001332U,
113  TEE_ATTR_RSA_OAEP_LABEL = 0xD0000930U,
116 
117 typedef enum {
118  TEE_ATTR_FLAG_VALUE = 0x20000000,
119  TEE_ATTR_FLAG_PUBLIC = 0x10000000,
121 
122 /* -- Miscellaneous Constants -- */
123 #define TEE_DATA_MAX_POSITION 0xFFFFFFFFU
124 #define TEE_OBJECT_ID_MAX_LEN 64U
125 
126 #endif /* TEE_TRUSTED_STORAGE_CONSTANTS_H */
TEE_TYPE_AES
@ TEE_TYPE_AES
Definition: tee_trusted_storage_constants.h:74
TEE_DATA_FLAG_ACCESS_WRITE_META
@ TEE_DATA_FLAG_ACCESS_WRITE_META
Definition: tee_trusted_storage_constants.h:43
TEE_ATTR_FLAG_VALUE
@ TEE_ATTR_FLAG_VALUE
Definition: tee_trusted_storage_constants.h:118
TEE_AttributeFlag
TEE_AttributeFlag
Definition: tee_trusted_storage_constants.h:117
TEE_TYPE_DSA_KEYPAIR
@ TEE_TYPE_DSA_KEYPAIR
Definition: tee_trusted_storage_constants.h:86
TEE_ATTR_RSA_MODULES
@ TEE_ATTR_RSA_MODULES
Definition: tee_trusted_storage_constants.h:94
TEE_HANDLE_FLAG_PERSISTENT
@ TEE_HANDLE_FLAG_PERSISTENT
Definition: tee_trusted_storage_constants.h:65
TEE_ATTR_DSA_PRIME
@ TEE_ATTR_DSA_PRIME
Definition: tee_trusted_storage_constants.h:102
TEE_ATTR_DH_BASE
@ TEE_ATTR_DH_BASE
Definition: tee_trusted_storage_constants.h:109
TEE_ATTR_RSA_EXPONENT2
@ TEE_ATTR_RSA_EXPONENT2
Definition: tee_trusted_storage_constants.h:100
TEE_ATTR_DH_PUBLIC_VALUE
@ TEE_ATTR_DH_PUBLIC_VALUE
Definition: tee_trusted_storage_constants.h:111
TEE_ATTR_DSA_PRIVATE_VALUE
@ TEE_ATTR_DSA_PRIVATE_VALUE
Definition: tee_trusted_storage_constants.h:106
TEE_ATTR_RSA_PUBLIC_EXPONENT
@ TEE_ATTR_RSA_PUBLIC_EXPONENT
Definition: tee_trusted_storage_constants.h:95
TEE_TYPE_HMAC_SHA1
@ TEE_TYPE_HMAC_SHA1
Definition: tee_trusted_storage_constants.h:78
TEE_USAGE_SIGN
@ TEE_USAGE_SIGN
Definition: tee_trusted_storage_constants.h:57
TEE_ATTR_RSA_PRIVATE_EXPONENT
@ TEE_ATTR_RSA_PRIVATE_EXPONENT
Definition: tee_trusted_storage_constants.h:96
TEE_HANLDE_FLAG_KEY_SET
@ TEE_HANLDE_FLAG_KEY_SET
Definition: tee_trusted_storage_constants.h:67
TEE_ATTR_DSA_BASE
@ TEE_ATTR_DSA_BASE
Definition: tee_trusted_storage_constants.h:104
TEE_ATTR_RSA_EXPONENT1
@ TEE_ATTR_RSA_EXPONENT1
Definition: tee_trusted_storage_constants.h:99
TEE_TYPE_HMAC_SHA512
@ TEE_TYPE_HMAC_SHA512
Definition: tee_trusted_storage_constants.h:82
TEE_TrustedStorageHandleFlag
TEE_TrustedStorageHandleFlag
Handle Flag Constants.
Definition: tee_trusted_storage_constants.h:64
TEE_TYPE_RSA_PUBLIC_KEY
@ TEE_TYPE_RSA_PUBLIC_KEY
Definition: tee_trusted_storage_constants.h:83
TEE_DATA_FLAG_ACCESS_READ
@ TEE_DATA_FLAG_ACCESS_READ
Definition: tee_trusted_storage_constants.h:41
TEE_USAGE_DECRYPT
@ TEE_USAGE_DECRYPT
Definition: tee_trusted_storage_constants.h:55
TEE_USAGE_DERIVE
@ TEE_USAGE_DERIVE
Definition: tee_trusted_storage_constants.h:59
TEE_ATTR_RSA_PSS_SALT_LENGTH
@ TEE_ATTR_RSA_PSS_SALT_LENGTH
Definition: tee_trusted_storage_constants.h:114
TEE_DATA_FLAG_SHARE_WRITE
@ TEE_DATA_FLAG_SHARE_WRITE
Definition: tee_trusted_storage_constants.h:45
TEE_TYPE_DES
@ TEE_TYPE_DES
Definition: tee_trusted_storage_constants.h:75
TEE_DATA_FLAG_SHARE_READ
@ TEE_DATA_FLAG_SHARE_READ
Definition: tee_trusted_storage_constants.h:44
TEE_HANDLE_FLAG_INITIALIZED
@ TEE_HANDLE_FLAG_INITIALIZED
Definition: tee_trusted_storage_constants.h:66
TEE_TrustedStorageDataFlag
TEE_TrustedStorageDataFlag
Data Flag Constants.
Definition: tee_trusted_storage_constants.h:40
TEE_USAGE_MAC
@ TEE_USAGE_MAC
Definition: tee_trusted_storage_constants.h:56
TEE_TrustedStorageObjectType
TEE_TrustedStorageObjectType
Definition: tee_trusted_storage_constants.h:73
TEE_TYPE_HMAC_MD5
@ TEE_TYPE_HMAC_MD5
Definition: tee_trusted_storage_constants.h:77
TEE_TYPE_GENERIC_SECRET
@ TEE_TYPE_GENERIC_SECRET
Definition: tee_trusted_storage_constants.h:88
TEE_TYPE_DES3
@ TEE_TYPE_DES3
Definition: tee_trusted_storage_constants.h:76
TEE_ATTR_DSA_SUBPRIME
@ TEE_ATTR_DSA_SUBPRIME
Definition: tee_trusted_storage_constants.h:103
TEE_ATTR_DH_SUBPRIME
@ TEE_ATTR_DH_SUBPRIME
Definition: tee_trusted_storage_constants.h:108
TEE_HANDLE_FLAG_EXPECT_TWO_KEYS
@ TEE_HANDLE_FLAG_EXPECT_TWO_KEYS
Definition: tee_trusted_storage_constants.h:68
TEE_USAGE_ENCRYPT
@ TEE_USAGE_ENCRYPT
Definition: tee_trusted_storage_constants.h:54
TEE_TYPE_RSA_KEYPAIR
@ TEE_TYPE_RSA_KEYPAIR
Definition: tee_trusted_storage_constants.h:84
TEE_AttributeID
TEE_AttributeID
Attribute IDs.
Definition: tee_trusted_storage_constants.h:92
TEE_TrustedStorageUsageFlag
TEE_TrustedStorageUsageFlag
Usage Constants.
Definition: tee_trusted_storage_constants.h:52
TEE_ATTR_DH_PRIME
@ TEE_ATTR_DH_PRIME
Definition: tee_trusted_storage_constants.h:107
TEE_ATTR_DSA_PUBLIC_VALUE
@ TEE_ATTR_DSA_PUBLIC_VALUE
Definition: tee_trusted_storage_constants.h:105
TEE_ATTR_DH_X_BITS
@ TEE_ATTR_DH_X_BITS
Definition: tee_trusted_storage_constants.h:110
TEE_DATA_FLAG_EXCLUSIVE
@ TEE_DATA_FLAG_EXCLUSIVE
Definition: tee_trusted_storage_constants.h:47
TEE_TYPE_DSA_PUBLIC_KEY
@ TEE_TYPE_DSA_PUBLIC_KEY
Definition: tee_trusted_storage_constants.h:85
TEE_TYPE_HMAC_SHA256
@ TEE_TYPE_HMAC_SHA256
Definition: tee_trusted_storage_constants.h:80
TEE_TYPE_DH_KEYPAIR
@ TEE_TYPE_DH_KEYPAIR
Definition: tee_trusted_storage_constants.h:87
TEE_TYPE_HMAC_SHA224
@ TEE_TYPE_HMAC_SHA224
Definition: tee_trusted_storage_constants.h:79
TEE_USAGE_VERIFY
@ TEE_USAGE_VERIFY
Definition: tee_trusted_storage_constants.h:58
TEE_DATA_FLAG_CREATE
@ TEE_DATA_FLAG_CREATE
Definition: tee_trusted_storage_constants.h:46
TEE_ATTR_RSA_PRIME1
@ TEE_ATTR_RSA_PRIME1
Definition: tee_trusted_storage_constants.h:97
TEE_ATTR_RSA_PRIME2
@ TEE_ATTR_RSA_PRIME2
Definition: tee_trusted_storage_constants.h:98
TEE_ATTR_FLAG_PUBLIC
@ TEE_ATTR_FLAG_PUBLIC
Definition: tee_trusted_storage_constants.h:119
TEE_USAGE_EXTRACTABLE
@ TEE_USAGE_EXTRACTABLE
Definition: tee_trusted_storage_constants.h:53
TEE_ATTR_SECRET_VALUE
@ TEE_ATTR_SECRET_VALUE
Definition: tee_trusted_storage_constants.h:93
TEE_DATA_FLAG_ACCESS_WRITE
@ TEE_DATA_FLAG_ACCESS_WRITE
Definition: tee_trusted_storage_constants.h:42
TEE_TYPE_HMAC_SHA384
@ TEE_TYPE_HMAC_SHA384
Definition: tee_trusted_storage_constants.h:81
TEE_ATTR_DH_PRIVATE_VALUE
@ TEE_ATTR_DH_PRIVATE_VALUE
Definition: tee_trusted_storage_constants.h:112
TEE_ATTR_RSA_OAEP_LABEL
@ TEE_ATTR_RSA_OAEP_LABEL
Definition: tee_trusted_storage_constants.h:113
TEE_ATTR_RSA_COEFFICIENT
@ TEE_ATTR_RSA_COEFFICIENT
Definition: tee_trusted_storage_constants.h:101