---
title: 调测环境TA应用开发者证书申请
description: "1. 根据manifest.txt生成手动编辑configs.xml文件。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/confidt/kunpengtrustzone_04_0009.html
sourcePath: /source/zh/kunpengboostkithistory/2200/confidt/kunpengtrustzone_04_0009.html
indexId: 4fffff55430056b1461ae4c6b27b6e7627edd538da4749545a690c956fe0ee4676
---
# 调测环境TA应用开发者证书申请

#### 生成configs.xml文件

1. 根据manifest.txt生成手动编辑configs.xml文件。
  configs.xml文件示例：

```
<?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>
</TA_Manifest_Info>
</ConfigInfo>
```


  "uuid"字段指定TA应用服务标识，开发者需要保证uuid唯一性。Linux系统可使用"cat /proc/sys/kernel/random/uuid"命令获取随机生成的uuid信息。 “stack_size”和“heap_size”字段分别指定了TA应用可使用栈、堆最大空间，单位字节。 当前安全OS iTrustee支持TA应用至多128多线程并发，需要为TA应用预留 256K * 2 * 128 堆空间大小。 因此TA应用'heap_size' 字段值应不小于256K * 2 * 128，例如规划TA应用功能业务需要使用4k堆空间，则'heap_size' 则为 （256 * 2 * 128 + 4）* 1024 字节大小。对于栈空间“stack_size”则无此要求。

2. 根据manifest.txt文件实际内容对configs.xml标签内容予以替换。


#### 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，并用下划线“_”隔开，请根据实际内容予以替换，要求/CN的值不超过64字节。

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

4. 将1中生成的private_key.pem私钥文件存放在特定目录。
  1 mv private_key.pem iTrustee_cloud_SDK/test/TA/rsa_demo/cloud/TA_cert

5. 将3中获取的签名后的config二进制文件存放在特定目录。
  1 mv config iTrustee_cloud_SDK/test/TA/rsa_demo/cloud/signed_config

6. 配置config_cloud.ini文件中TA私钥、config存放路径。

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

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

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


#### GPG安装

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”，单击发送邮件。
  此时收件人则可以看到带有加密、签名标记的邮件。
