1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
#ifndef __TRUSTZONE_TA_MODULAR_DRM__
#define __TRUSTZONE_TA_MODULAR_DRM__
#define TZ_TA_MODULAR_DRM_UUID "651d6d29-0cf5-4a0f-b31a-9e8e8cec83a5"
/* Data Structure for Modular DRM TA */
/* You should define data structure used both in REE/TEE here
N/A for Modular DRM TA */
/* Command for Modular DRM TA */
#define TZCMD_MODULAR_DRM_Initialize 1
#define TZCMD_MODULAR_DRM_Terminate 2
#define TZCMD_MODULAR_DRM_InstallKeybox 3
#define TZCMD_MODULAR_DRM_GetKeyData 4
#define TZCMD_MODULAR_DRM_IsKeyboxValid 5
#define TZCMD_MODULAR_DRM_GetRandom 6
#define TZCMD_MODULAR_DRM_GetDeviceID 7
#define TZCMD_MODULAR_DRM_WrapKeybox 8
#define TZCMD_MODULAR_DRM_OpenSession 9
#define TZCMD_MODULAR_DRM_CloseSession 10
#define TZCMD_MODULAR_DRM_DecryptCTR 11
#define TZCMD_MODULAR_DRM_GenerateDerivedKeys 12
#define TZCMD_MODULAR_DRM_GenerateSignature 13
#define TZCMD_MODULAR_DRM_GenerateNonce 14
#define TZCMD_MODULAR_DRM_LoadKeys 15
#define TZCMD_MODULAR_DRM_RefreshKeys 16
#define TZCMD_MODULAR_DRM_SelectKey 17
#define TZCMD_MODULAR_DRM_RewrapDeviceRSAKey 18
#define TZCMD_MODULAR_DRM_LoadDeviceRSAKey 19
#define TZCMD_MODULAR_DRM_GenerateRSASignature 20
#define TZCMD_MODULAR_DRM_DeriveKeysFromSessionKey 21
#define TZCMD_MODULAR_DRM_APIVersion 22
#define TZCMD_MODULAR_DRM_SecurityLevel 23
#define TZCMD_MODULAR_DRM_Generic_Encrypt 24
#define TZCMD_MODULAR_DRM_Generic_Decrypt 25
#define TZCMD_MODULAR_DRM_Generic_Sign 26
#define TZCMD_MODULAR_DRM_Generic_Verify 27
#define TZCMD_MODULAR_DRM_GET_RSA_KEY_SIZE 28
#define TZCMD_MODULAR_DRM_TEST 29
//Disable or enable debug level log in tee
#define TZCMD_MODULAR_DRM_SET_DEBUG_LOG 30
//added by zhitao yan
#define TZCMD_MODULAR_DRM_UpdateUsageTable 31
#define TZCMD_MODULAR_DRM_DeactivateUsageEntry 32
#define TZCMD_MODULAR_DRM_ReportUsage 33
#define TZCMD_MODULAR_DRM_DeleteUsageEntry 34
#define TZCMD_MODULAR_DRM_DeleteUsageTable 35
//#define TZCMD_MODULAR_DRM_UpdateUsageTable 31
typedef enum TEE_MTK_MODULAR_DRM_Crypto_Result
{
TEE_MTK_MODULAR_DRM_Crypto_SUCCESS = 0,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_INIT_FAILED = 1,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_TERMINATE_FAILED = 2,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_OPEN_FAILURE = 3,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_CLOSE_FAILURE = 4,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_ENTER_SECURE_PLAYBACK_FAILED = 5,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_EXIT_SECURE_PLAYBACK_FAILED = 6,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_SHORT_BUFFER = 7,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_NO_DEVICE_KEY = 8,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_NO_ASSET_KEY = 9,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_KEYBOX_INVALID = 10,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_NO_KEYDATA = 11,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_NO_CW = 12,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_DECRYPT_FAILED = 13,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_WRITE_KEYBOX = 14,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_WRAP_KEYBOX = 15,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_BAD_MAGIC = 16,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_BAD_CRC = 17,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_NO_DEVICEID = 18,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_RNG_FAILED = 19,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_RNG_NOT_SUPPORTED = 20,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_SETUP = 21,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_OPEN_SESSION_FAILED = 22,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_CLOSE_SESSION_FAILED = 23,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_INVALID_SESSION = 24,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_NOT_IMPLEMENTED = 25,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_NO_CONTENT_KEY = 26,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_CONTROL_INVALID = 27,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_UNKNOWN_FAILURE = 28,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_INVALID_CONTEXT = 29,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_SIGNATURE_FAILURE = 30,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_TOO_MANY_SESSIONS = 31,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_INVALID_NONCE = 32,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_TOO_MANY_KEYS = 33,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_DEVICE_NOT_RSA_PROVISIONED = 34,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_INVALID_RSA_KEY = 35,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_KEY_EXPIRED = 36,
TEE_MTK_MODULAR_DRM_Crypto_ERROR_INSUFFICIENT_RESOURCES = 37,
} TEE_MTK_MODULAR_DRM_Crypto_Result;
#endif /* __TRUSTZONE_TA_MODULAR_DRM__ */
|