---
title: TA必备接口
description: "每个TA都必须实现表1中的五个接口函数，实现TA和CA之间通信和数据传递。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/trustzone/devpg-tzrsademo/kunpengtrustzone_16_0005.html
sourcePath: /source/zh/kunpengcctrustzone/trustzone/devpg-tzrsademo/kunpengtrustzone_16_0005.html
indexId: 2eb088a6478a095ae716bc310e158cb89d53983e2c222ee6b617960858f7b5d585
---
# TA必备接口

每个TA都必须实现表1中的五个接口函数，实现TA和CA之间通信和数据传递。


**表1 TA应用必备编程接口**

| 函数名称 | 函数介绍 |
| --- | --- |
| TA\_CreateEntryPoint | 安全服务的构造函数接口，该接口在客户端应用第一次打开会话并创建TA实例时得到调用。如果此函数执行失败，则该TA实例构建失败。 |
| TA\_DestroyEntryPoint | 安全服务的析构函数接口，该接口在客户端应用关闭会话并销毁TA实例时得到调用。 |
| TA\_OpenSessionEntryPoint | 当客户端应用打开会话时，安全OS会调用对应TA的此接口在安全世界创建一个会话。 |
| TA\_CloseSessionEntryPoint | 当客户端应用关闭会话时，安全OS会调用对应TA的此接口在安全世界关闭会话。 |
| TA\_InvokeCommandEntryPoint | 当客户端应用发送命令（TEEC\_InvokeCommand）给安全OS时，安全OS会调用对应TA的此接口在安全世界执行相应操作，比如加解密，安全存储等。 |


除CA和TA间可以建立连接和通信外，也支持TA与TA间的连接和通信（TA2TA）。使用时请遵守如下规则：

- 调用TA可通过TEE_OpenTASession、TEE_InvokeTACommand、TEE_CloseTASession等接口分别打开会话、发送命令和关闭会话。被调用TA需要在执行TA_CreateEntryPoint函数时调用AddCaller_TA_all，允许其他TA调用自己，并可在执行TA_OpenSessionEntryPoint函数时通过TEE_EXT_GetCallerInfo获取调用者信息和鉴权。
- TEEOS 1.4.0版本之前，发起TA2TA调用时，被调用TA需处于已加载状态。TEEOS 1.4.0版本后，支持动态加载，若未加载，则将去默认加载路径加载TA，默认路径为“/var/itrustee/ta”。
- 若TA2TA使用共享内存传递敏感数据，需要TA开发者注意保护数据机密性与完整性。
