# 开发受信程序和客户端程序

您可以使用全局平台接口中的默认文件开发和运行受信任和客户端应用程序。受信任的应用程序在安全的 Trusted Execution Environment (TEE) 中运行，以保持代码和数据的完整性。客户端应用程序在正常操作系统中运行，使用 TEE 客户端 API 执行安全服务。

具有授权访问权限的许可开发者可以使用此功能来开发和执行受信任的应用程序和客户端应用程序。如果您拥有访问权限，请参阅 [Qualcomm Linux Security Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70020-11A/develop.html)。

如需开发提供基于硬件的认证、零接触设备配置和芯片组功能管理的应用程序，请参阅 [Qualcomm Linux Wireless Edge Services Guide](https://docs.qualcomm.com/bundle/resource/topics/80-70020-11B/overview.html)。此功能可供具有授权访问权限的许可用户使用。

## 安全 API

安全 API 提供了与 Linux 内核和设备硬件交互的能力。它们还促进了可以在受信任的执行环境中运行的各种软件服务。

**用户空间 API**

用户空间 API 是 Linux 操作系统用来与内核进行交互的函数。

此功能可供具有授权访问权限的许可开发者使用。如果您拥有访问权限，请参阅 [Qualcomm Linux Security Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70020-11A/user-space-apis.html)。

**为 PKCS#11 公开的接口**

请参阅 [Cryptographic Token Interface Usage Guide](http://docs.oasis-open.org/pkcs11/pkcs11-ug/v2.40/pkcs11-ug-v2.40.html) 和 [Cryptographic Token Interface Base Specification](http://docs.oasis-open.org/pkcs11/pkcs11-base/v2.40/os/pkcs11-base-v2.40-os.html)。

**内核 API**

内核 API 功能允许 Qualcomm Linux 软件与设备硬件进行交互。

**加密 API**

`qcrypto.ko` 驱动程序位于 `/lib/modules/<version>/kernel/drivers/crypto/qce` 的设备上。内核级和用户级 API 都可以访问加密引擎。有关 API，请参阅内核加密文档[加密文档索引](https://www.kernel.org/doc/Documentation/crypto/)。

支持以下加密算法：

- RFC 4309 (CCCM(AES))
- CCM (AES)
- Authenc (HMAC (SHA-256), CBC (AES))
- Authenc (HMAC (SHA-256)、CBC(DES3\_EDE))
- Authenc (HMAC(SHA-256)、CBC(DES))
- Authenc (HMAC (SHA-1)、CBC (DES3\_EDE))
- Authenc (HMAC (SHA-1)、CBC (DES))
- HMAC (SHA-256)
- HMAC (SHA-1)
- SHA-256
- SHA-1
- CBC (DES3\_EDE)
- ECB (DES3\_EDE)
- CBC (DES)
- ECB (DES)
- XTS (AES)
- CTR (AES)
- CBC (AES)
- ECB (AES)

有关 Qualcomm 加密内核的更多信息，请参阅[加密](https://docs.qualcomm.com/doc/80-70020-11SC/topic/features.html#section-cryptography-features)。

有关更多信息，请参阅 [Kernel.org ➝ Crypto API](https://www.kernel.org/doc/html/v6.6/crypto/index.html)。

**硬件随机数生成器 API**

Qualcomm Linux 支持使用 `qcom-rng` Linux 驱动程序的真随机数生成器。从 `qcom-rng` 生成的随机数使用内核加密作为随机数生成器 API。

在用户空间中，可以在 `/dev/hwrng` 处访问随机数。有关硬件随机数生成器的更多信息，请参阅 [Linux support for random number generator in i8xx chipsets](https://www.kernel.org/doc/Documentation/hw_random.txt) 处的内核文档。

有关 PRNG API，请参阅 [Qualcomm Linux Security Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70020-11A/prng-apis.html)。此功能可供具有授权访问权限的许可开发者使用。

**Qualcomm TEE API**

Qualcomm TEE 提供了一组 API，为安全应用程序提供服务。这些服务包括堆管理、日志、安全文件系统访问、侦听器交互以及加密和哈希函数。

此功能可供具有授权访问权限的许可开发者使用。如果您拥有访问权限，请参阅 [Qualcomm Linux Security Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70020-11A/trusted-execution-environment-apis.html)。

## 使用安全服务示例

要运行安全服务，可以使用不同接口加载客户端和受信任应用程序的示例代码和示例可供具有授权访问权限的许可用户使用。如果您拥有访问权限，请参阅 [Qualcomm Linux Security Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70020-11A/examples.html)。

## 另可参见

- 要初始化和配置硬件以在 Linux 上安全运行，请参阅[验证安全配置](https://docs.qualcomm.com/doc/80-70020-11SC/topic/bring-up.html#bring-up)。
- 要配置 Qualcomm TEE 以保护处理敏感数据和运行受信任应用程序的设备，请参阅[配置安全服务](https://docs.qualcomm.com/doc/80-70020-11SC/topic/configure.html#configure)。
- 要定制内存和 SEPolicy，请参阅[定制安全服务](https://docs.qualcomm.com/doc/80-70020-11SC/topic/customize.html#customize)。

Last Published: Apr 14, 2026

[Previous Topic
调试 Qualcomm TEE 和安全设备](https://docs.qualcomm.com/bundle/publicresource/80-70020-11SC/topics/debug.md) [Next Topic
参考资料](https://docs.qualcomm.com/bundle/publicresource/80-70020-11SC/topics/references.md)