# API

Source: [https://docs.qualcomm.com/doc/80-70015-11SC/topic/interfaces.html](https://docs.qualcomm.com/doc/80-70015-11SC/topic/interfaces.html)

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

## 用户空间 API

用户空间 API 是 Linux 操作系统访问以与内核交互的功能。

此功能可供具有授权访问权限的许可开发人员使用。如果您拥有访问权限，参见[用户空间 API](https://docs.qualcomm.com/bundle/resource/topics/80-70014-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/&lt;version&gt;/kernel/drivers/crypto/qce 中。内核级和用户级 API 都可以访问加密引擎。有关 API 的信息，可访问 [https://www.kernel.org/doc/Documentation/crypto/](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/bundle/publicresource/topics/80-70014-11/crypto-core.html)。

更多信息，参见 [Crypto API](https://www.kernel.org/doc/html/v6.6/crypto/index.html)。

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

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

在用户空间中，可以在 `/dev/hwrng` 访问随机数。有关硬件随机数生成器的更多信息，参见位于 Documentation/hw\_random.txt 的内核文档。

有关 PRNG API 的信息，可访问 [https://www.kernel.org/doc/Documentation/hw_random.txt](https://www.kernel.org/doc/Documentation/hw_random.txt)。

## Qualcomm TEE API

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

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

Last Published: Dec 03, 2024

[Previous Topic
架构](https://docs.qualcomm.com/bundle/publicresource/80-70015-11SC/topics/architecture.md) [Next Topic
开发](https://docs.qualcomm.com/bundle/publicresource/80-70015-11SC/topics/develop_lru.md)