Qualifier and Type | Method Name and Description |
|---|---|
void | TEE_GetObjectInfo(TEE_ObjectHandle object, TEE_ObjectInfo *objectInfo) 对object的一些通用操作,主要用来获取Object的信息。 |
void | TEE_RestrictObjectUsage( TEE_ObjectHandle object, uint32_t objectUsage) 可以用该函数限制object的使用权限。 |
TEE_Result | TEE_GetObjectBufferAttribute(TEE_ObjectHandle object, uint32_t attributeID, void *buffer, size_t *size) 获取object Attribute的buffer。 |
TEE_Result | TEE_GetObjectValueAttribute(TEE_ObjectHandle object, uint32_t attributeID, uint32_t *a, uint32_t *b) 获取object Attribute的value。 |
void | TEE_CloseObject(TEE_ObjectHandle object) 关闭object,该object可以为persistent或者transient。 |
TEE_Result | TEE_AllocateTransientObject(uint32_t objectType, uint32_t maxObjectSize, TEE_ObjectHandle *object) 分配一个未初始化的transient object,用来存放加解密操作用的key或key-pair。 |
void | TEE_FreeTransientObject(TEE_ObjectHandle object) 释放用TEE_AllocateTransientObject分配的transient object的资源。 |
void | TEE_ResetTransientObject(TEE_ObjectHandle object) 重置transient object, 使其回到初始状态。 |
TEE_Result | TEE_PopulateTransientObject(TEE_ObjectHandle object, TEE_Attribute *attrs, uint32_t attrCount) 给object赋值attribute。 |
void | TEE_InitRefAttribute(TEE_Attribute* attr, uint32_t attributeID , void* buffer, size_t length) 赋值产生一个buffer类型的attribute。 |
void | TEE_InitValueAttribute(TEE_Attribute *attr, uint32_t attributeID, uint32_t a, uint32_t b) 赋值产生一个value类型的attribute。 |
void | TEE_CopyObjectAttributes(TEE_ObjectHandle destObject, TEE_ObjectHandle srcObject) 该函数用一个初始化的object handle的attributes给一个未初始化的object handle赋值。 |
TEE_Result | TEE_GenerateKey(TEE_ObjectHandle object, uint32_t keySize, TEE_Attribute* params, uint32_t paramCount) 该函数产生一个随机key或者key-pair并赋值给key object。 |
TEE_Result | TEE_OpenPersistentObject(uint32_t storageID, void *objectID, size_t objectIDLen, uint32_t flags, TEE_ObjectHandle* object) 打开一个persistent object。 |
TEE_Result | TEE_CreatePersistentObject(uint32_t storageID, void *objectID, size_t objectIDLen, uint32_t flags, TEE_ObjectHandle attributes, void *initialData, size_t initialDataLen, TEE_ObjectHandle *object) 创建一个persistent object。 |
void | TEE_CloseAndDeletePersistentObject( TEE_ObjectHandle object) 关闭并且删除object。 |
TEE_Result | TEE_RenamePersistentObject(TEE_ObjectHandle object, void* newObjectID, size_t newObjectIDLen) object重命名。 |
TEE_Result | TEE_ReadObjectData(TEE_ObjectHandle object, void *buffer, size_t size, uint32_t *count) 该函数从object的data stream读取size字节数据,放到buffer指针指定的buffer,操作完成后将实际读取值写到count。 |
TEE_Result | TEE_WriteObjectData(TEE_ObjectHandle object, void* buffer, size_t size) 该函数从buffer中写入size字节的数据到object的data stream。 |
TEE_Result | TEE_TruncateObjectData(TEE_ObjectHandle object, uint32_t size) 该函数改变data stream大小。 |
TEE_Result | TEE_SeekObjectData(TEE_ObjectHandle object, int32_t offset, TEE_Whence whence) 该函数设置object handle的数据位置。 |
TEE_Result | TEE_InfoObjectData(TEE_ObjectHandle object, uint32_t *pos, uint32_t *len) 该函数获取数据流读取的位置和文件大小。 |
Method |
|---|
void TEE_GetObjectInfo(TEE_ObjectHandle object, TEE_ObjectInfo *objectInfo) 对object的一些通用操作,主要用来获取Object的信息。 |
Parameters
Name | Description |
|---|---|
object | 需要提取objectInfo的object handle。 |
objectInfo | 提取之后存放objectInfo的结构体。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
void TEE_RestrictObjectUsage( TEE_ObjectHandle object, uint32_t objectUsage) 可以用该函数限制object的使用权限。 |
Parameters
Name | Description |
|---|---|
object | 需要限制的object handle。 |
objectUsage | 要限制的usage,取值在Usage_Constants结构中。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
TEE_Result TEE_GetObjectBufferAttribute(TEE_ObjectHandle object, uint32_t attributeID, void *buffer, size_t *size) 获取object Attribute 的buffer。 |
Parameters
Name | Description |
|---|---|
object | 需要获取的目标object的handle。 |
attributeID | 需要获取的attributeID。 |
buffer | 存放提取的attribute 的buffer内容,需要提前分配。 |
size | 获取到的buffer内容大小。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
TEE_Result TEE_GetObjectValueAttribute(TEE_ObjectHandle object, uint32_t attributeID, uint32_t *a, uint32_t *b) 获取object Attribute的value。 |
Parameters
Name | Description |
|---|---|
object | 需要获取的目标object handle。 |
attributeID | 需要获取的attributeID。 |
a | 用来存放提取的attribute的a,需要提前分配,如果用户对其不感兴趣,可以为null,如果a和b同时为null该函数无意义。 |
b | 用来存放提取的attribute的b,需要提前分配,如果用户对其不感兴趣,可以为null,如果a和b同时为null该函数无意义。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
void TEE_CloseObject(TEE_ObjectHandle object) 关闭object,该object可以为persistent或者transient。 |
Parameters
Name | Description |
|---|---|
object | 需要获取的目标object handle。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
TEE_Result TEE_AllocateTransientObject(uint32_t objectType, uint32_t maxObjectSize, TEE_ObjectHandle *object) 分配一个未初始化的transient object,用来存放加解密操作用的key或key-pair。 |
Parameters
Name | Description |
|---|---|
objectType | 需要创建object的类型。 |
maxObjectSize | object大小。 |
object | 指向新创建的handle指针。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
void TEE_FreeTransientObject(TEE_ObjectHandle object) 释放用TEE_AllocateTransientObject分配的transient object的资源。 |
Parameters
Name | Description |
|---|---|
object | 需要释放的object handle。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
void TEE_ResetTransientObject(TEE_ObjectHandle object) 重置transient object, 使其回到初始状态。 |
Parameters
Name | Description |
|---|---|
object | 需要重置的object handle。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
TEE_Result TEE_PopulateTransientObject(TEE_ObjectHandle object, TEE_Attribute *attrs, uint32_t attrCount) 给object赋值attribute。 |
Parameters
Name | Description |
|---|---|
object | 需要赋值的object handle,已创建但未初始化。 |
attrs | 用来赋值的attributes数组。 |
attrCount | 用来赋值的attributes数组大小。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
void TEE_InitRefAttribute(TEE_Attribute* attr, uint32_t attributeID , void* buffer, size_t length) 赋值产生一个buffer类型的attribute。 |
Parameters
Name | Description |
|---|---|
attrs | 待赋值的attribute。 |
attributeID | 属性 ID。 |
buffer | 赋值的buffer。 |
length | buffer的长度。。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
void TEE_InitValueAttribute(TEE_Attribute *attr, uint32_t attributeID, uint32_t a, uint32_t b) 赋值产生一个value类型的attribute。 |
Parameters
Name | Description |
|---|---|
attrs | 待赋值的attribute。 |
attributeID | 属性 ID。 |
a | 赋值参数a。 |
b | 赋值参数b。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
void TEE_CopyObjectAttributes(TEE_ObjectHandle destObject, TEE_ObjectHandle srcObject) 该函数用一个初始化的object handle的attributes给一个未初始化的object handle赋值。 |
Parameters
Name | Description |
|---|---|
destObject | 一个未初始化的transient object。 |
srcObject | 一个初始化的transient object。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
TEE_Result TEE_GenerateKey(TEE_ObjectHandle object, uint32_t keySize, TEE_Attribute* params, uint32_t paramCount) 该函数产生一个随机key或者key-pair并赋值给key object。 |
Parameters
Name | Description |
|---|---|
object | 必须是一个未初始化的transient object用来存放产生的key。 |
keySize | 产生key的大小,必须小于或等于object的maximum size。 |
params | 产生key的参数。 |
paramCount | 产生key的参数大小。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
TEE_Result TEE_OpenPersistentObject(uint32_t storageID, void *objectID, size_t objectIDLen, uint32_t flags, TEE_ObjectHandle* object) 打开一个persistent object。 |
Parameters
Name | Description |
|---|---|
storageID | 待访问的Trusted Storage Space。 |
objectID | objectID。 |
objectIDLen | objectID长度。 |
flags | 用来控制打开object handle的访问权限和共享权限。 |
object | object handle,函数执行成功时其中包括打开文件的句柄,如果执行失败,则handle为NULL。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
TEE_Result TEE_CreatePersistentObject(uint32_t storageID, void *objectID, size_t objectIDLen, uint32_t flags, TEE_ObjectHandle attributes, void *initialData, size_t initialDataLen, TEE_ObjectHandle *object) 创建一个persistent object。 |
Parameters
Name | Description |
|---|---|
storageID | 待访问的Trusted Storage Space。 |
objectID | objectID。 |
objectIDLen | objectID长度。 |
flags | 用来控制打开object handle的访问权限和共享权限。 |
attributes | persistent object的属性,可以为空。 |
initialData | persistent object的初始化数据。 |
initialDataLen | persistent object的初始化数据长度。 |
object | object handle,函数执行成功时其中包括打开文件的句柄,如果执行失败,则object为NULL。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
void TEE_CloseAndDeletePersistentObject( TEE_ObjectHandle object) 关闭并且删除object。 |
Parameters
Name | Description |
|---|---|
object | 指向目标的object handle。 |
Return
Type | Description |
|---|---|
void | - |
Method |
|---|
TEE_Result TEE_RenamePersistentObject(TEE_ObjectHandle object, void* newObjectID, size_t newObjectIDLen) object重命名。 |
Parameters
Name | Description |
|---|---|
object | 指向目标的object handle。 |
newObjectID | 新的object ID。 |
newObjectIDLen | 新的object ID长度。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
TEE_Result TEE_ReadObjectData(TEE_ObjectHandle object, void *buffer, size_t size, uint32_t *count) 该函数从object的data stream读取size字节数据,放到buffer指针指定的buffer,操作完成后将实际读取值写到count。 |
Parameters
Name | Description |
|---|---|
object | 指向目标的object handle。 |
buffer | 存储读取数据的buffer。 |
size | 要读取的字节大小。 |
count | 指向成功读取的字节数。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
TEE_Result TEE_WriteObjectData(TEE_ObjectHandle object, void* buffer, size_t size) 该函数从buffer中写入size字节的数据到object的data stream。 |
Parameters
Name | Description |
|---|---|
object | 指向目标的object handle。 |
buffer | 存储读取数据的buffer。 |
size | 要读取的字节大小。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
TEE_Result TEE_TruncateObjectData(TEE_ObjectHandle object, uint32_t size) 该函数改变data stream大小。 |
Parameters
Name | Description |
|---|---|
object | 指向目标的object handle。 |
size | 数据流的大小。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
TEE_Result TEE_SeekObjectData(TEE_ObjectHandle object, int32_t offset, TEE_Whence whence) 该函数设置object handle的数据位置。 |
Parameters
Name | Description |
|---|---|
object | 指向目标的object handle。 |
offset | 数据位置的偏移值。 |
whence | 开始计算偏移的数据位置,取值:
|
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |
Method |
|---|
TEE_Result TEE_InfoObjectData(TEE_ObjectHandle object, uint32_t *pos, uint32_t *len) 该函数获取数据流读取的位置和文件大小。 |
Parameters
Name | Description |
|---|---|
object | 指向目标的object handle。 |
pos | 数据位置。 |
len | 文件大小。 |
Return
Type | Description |
|---|---|
TEE_Result | 参见错误码定义。 |