---
title: 调测环境TA应用开发者证书申请
description: "在进行TA应用业务代码开发前，需要向华为申请TA应用开发者证书以及config二进制文件。TA开发者证书作为TA身份的唯一标识，包含TA uuid和TA应用名称，config二进制文件用于管控TA在TEE中可用资源信息。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/trustzone/fg/kunpengtrustzone_20_0049.html
sourcePath: /source/zh/kunpengcctrustzone/trustzone/fg/kunpengtrustzone_20_0049.html
indexId: c5131475bbf96ecaea5fece69ce2e6e9431cb90329fcbc2ba633a871ea42be9b72
---
# 调测环境TA应用开发者证书申请

在进行TA应用业务代码开发前，需要向华为申请TA应用开发者证书以及config二进制文件。TA开发者证书作为TA身份的唯一标识，包含TA uuid和TA应用名称，config二进制文件用于管控TA在TEE中可用资源信息。

#### 生成configs.xml文件

1. 参考如下示例创建configs.xml文件，用于表明申请的TA证书的TEE资源配置信息。
  configs.xml文件示例： 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <?xml version="1.0" encoding="utf-8"?> <ConfigInfo> <TA_Basic_Info> <service_name>rsa-demo</service_name> <uuid>f68fd704-6eb1-4d14-b218-722850eb3ef0</uuid> </TA_Basic_Info> <TA_Manifest_Info> <instance_keep_alive>false</instance_keep_alive> <stack_size>40960</stack_size> <heap_size>67928064</heap_size> <multi_command>false</multi_command> <multi_session>false</multi_session> <single_instance>true</single_instance> <mem_page_align>false</mem_page_align> </TA_Manifest_Info> </ConfigInfo>

2. 客户可根据实际情况和如下各字段的说明修改模板中的值。
**表1 configs.xml中TA TEE资源配置说明**

| 配置项 | 说明 | manifest.txt中对应的配置项 |
| --- | --- | --- |
| service\_name | 表示TA名称，需自定义，长度不能超过36字符，仅支持数字、字母，'\_'和'\-'。 | gpd.ta.service\_name |
| uuid | TA应用的标识，与service\_name一起作为TA的唯一标识。 | gpd.ta.appID |
| instance\_keep\_alive | TA是否需要常驻TEE内存，为True时，TA被加载后将不会被卸载。直到环境重启或TA崩溃。 | gpd.ta.instanceKeepAlive |
| stack\_size | TA所需栈大小，最大8M。 | gpd.ta.stackSize |
| heap\_size | TA所需堆大小。 | gpd.ta.dataSize |
| multi\_session | TA是否需要多session进行通信。 | gpd.ta.multiSession |
| single\_instance | TA是否为单实例 | gpd.ta.singleInstance |
| mem\_page\_align | 是否页对齐，为true时，堆栈大小单位为4K，false时，单位为字节。 | gpd.ta.mem\_page\_align |
| sys\_verify\_ta | 是否为系统TA，客户使用二级证书时，华为签发的普通TA证书将失效，系统TA仍可使用。 | gpd.ta.sys\_verify\_ta |


- "uuid"字段指定TA应用服务标识，用户需要保证uuid唯一性（模板中的UUID已被占用，建议重新生成一个）。Linux系统可使用“cat /proc/sys/kernel/random/uuid”命令获取随机生成的uuid信息。
- “stack_size”和“heap_size”字段分别指定了TA应用可使用栈、堆最大空间，单位为字节。当前安全OS iTrustee单个TA应用最多支持256个线程并发，需要为TA应用预留256K * 2 * 256 堆空间大小。因此TA应用“heap_size”字段值应不小于256K * 2 * 256，例如规划TA应用功能业务需要使用4k堆空间，则“heap_size”应为（256 * 2 * 256 + 4）* 1024字节大小。对于栈空间“stack_size”则无此要求，不过stack_size最大8M。
- 默认“stack_size”、“heap_size”单位为字节，解析数据类型为int型，数值上限为2G；如果TA堆空间大小需要在2G以上，请设置“mem_page_align”为“true”。此时“stack_size”、“heap_size”单位为4096字节，需重新计算数值，并在manifest.txt同步添加“gpd.ta.mem_page_align:true”内容。


#### TA开发者证书申请

1. 生成本地密钥对。
  1 openssl genrsa -out private_key.pem 4096

2. 生成CSR请求。
  1 openssl req -new -key private_key.pem -out cert_req_01.csr -subj "/C=CN/O=Huawei/OU=Huawei iTrustee Production/CN=f68fd704-6eb1-4d14-b218-722850eb3ef0_rsa-demo"

  CSR生成字段/CN的值对应manifest.txt文件中uuid和service_name，并用下划线“_”隔开，请根据实际内容予以替换（uuid建议重新生成，不可使用模板中的），要求/CN的值不超过64字节。uuid必须小写，且uuid_service_name必须唯一。 主题其他字段的值必须与命令中的保持一致，即/C=CN/O=Huawei/OU=Huawei iTrustee Production/CN=不能修改，可通过如下命令确认： openssl req -noout -text -in cert_req_01.csr

3. 将证书请求文件cert_req_01.csr和configs.xml文件通过PGP加密邮件发送给华为鲲鹏业务负责人，审批通过后，将获取到由华为颁发的TA开发者证书（ta_cert.der）、签名后的config二进制文件。

4. 客户将1中生成的private_key.pem私钥文件，和3中获取的签名后的config二进制文件放到TA编译配置文件config_cloud.ini中指定的路径下，就可进行TA编译。

为方便ISV快速体验开发过程，以上过程仅演示了最快捷方便的操作步骤，可用于调测环境。在商用业务开发环境中，保护ISV开发者证书签名密钥极其重要，相关密钥的安全使用方法由ISV自行设计和负责。

建议的方法包括但不限于：

1. 以安全、防篡改、加密的方式保护签名密钥，例如使用硬件安全模块（HSM，Hardware Security Module）。
2. 物理安全，这包括限制人员物理访问签名设施/平台，以及登录私钥加密保护模块。
3. 签名过程在KMS（Key Management System）上进行，确保版本签名无人员接触。


#### PGP安装

PGP是一种数据加密和解密算法，提供数据通信加密和认证，常用于签名、加密、解密文件、电子邮件等。下文介绍了在Windows平台发送PGP加密邮件的步骤。

1. 从官方网站(http://www.gpg4win.org/download.html)下载Gpg4win软件。
2. 安装Kleopatra和GpgOL。
3. 安装完毕后，运行Kleopatra，依次选择“文件 > 新建密钥对 > 创建个人OpenPGP密钥对”。
  打开密钥创建向导窗口。

4. 输入名字、电子邮件地址和passphrase完成密钥对创建。
5. 运行Kleopatra，选择需要导出公钥的用户，单击“导出”，选择需要保存到的目录。
  导出后的公钥文件后缀名为asc。

  如果需要发送PGP加密邮件，需要将发件人的asc公钥导入到收件人的Kleopatra软件中；同理，发件人也需要导入收件人提供的asc公钥文件。

6. 打开Outlook，创建新邮件。
7. 在工具栏中选中GpgOL插件，勾选“Encrypt”和“Sign”，单击发送邮件。
  此时收件人则可以看到带有加密、签名标记的邮件。


#### 在线提工单

若读者对资料内容或使用TEE过程中有任何疑问，可通过提工单的方式寻求帮助。

1. 访问链接https://www.hikunpeng.com/feedback/add(https://www.hikunpeng.com/feedback/add)。
2. 在问题描述中增加如下信息：

  a. 使用TEE的项目背景，时间计划，teeos版本，遇到的问题或诉求等信息。
  b. 上传必要的附件，例如申请TA证书，则附件中需上传csr请求文件和configs.xml配置文件。
  c. 留下手机或邮箱等联系方式，若涉及返回文件，需留下邮箱，用于接收文件。
3. 填写完毕后，点击“提交”。
