cc_teec/lib.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright (C) 2025-2026 KylinSoft Co., Ltd. <https://www.kylinos.cn/>
3// See LICENSES for license details.
4
5//! # rust-libteec
6//!
7//! GlobalPlatform TEE Client API 的 Rust 实现,提供与可信执行环境(TEE)通信的接口。
8//!
9//! ## 主要功能
10//!
11//! - **TEE 上下文管理**: 初始化和销毁 TEE 连接
12//! - **会话管理**: 打开/关闭与 Trusted Application 的会话
13//! - **命令调用**: 在 TA 中执行命令并传递参数(通过机密通信通道序列化传输)
14//! - **共享内存**: 管理 MEMREF 类型参数的本地缓冲区(数据通过机密通信通道传输,非真正共享)
15//! - **机密通信**: 基于 TLS + VSOCK 的加密通信通道,CA 与 TA 之间的所有数据都通过此通道传输
16//! - **CA 认证**: 自动验证客户端应用的签名和证书链,为 TA 提供 ACL 访问控制信息
17//!
18//! ## 特性标志
19//!
20//! - `ca-sign-verify`: 启用 CA 认证功能(默认启用)
21//! - `debug_level_0` ~ `debug_level_4`: 控制日志详细程度(默认 level_2)
22
23mod cc_client;
24mod error;
25mod teec;
26mod teec_trace;
27
28pub use self::{
29 error::{Error, ErrorKind, ErrorOrigin, Result},
30 teec::{
31 clear_cache, get_or_verify_ca, TEEC_AllocateSharedMemory, TEEC_CloseSession,
32 TEEC_FinalizeContext, TEEC_InitializeContext, TEEC_InvokeCommand, TEEC_OpenSession,
33 TEEC_RegisterSharedMemory, TEEC_ReleaseSharedMemory, TEEC_RequestCancellation,
34 },
35 teec_trace::*,
36};
37
38pub use teec_api_types as raw;
39pub use teec_protocol::CaAuthInfo;