EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

调测环境TA应用开发者证书申请

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

生成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>
        <mem_page_align>false</mem_page_align>
      </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”则无此要求,不过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”内容。
  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字节。uuid必须小写,且uuid_service_name必须唯一。
    • 主题其他字段的值必须与命令中的保持一致,可通过如下命令确认:
      openssl req -noout -text -in cert_req_01.csr
  3. 将证书请求文件cert_req_01.csr和configs.xml文件通过PGP加密邮件发送给华为鲲鹏业务负责人,以获取由华为颁发的TA开发者证书(.pem)、签名后的config二进制文件。

    发送PGP加密邮件请参考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)上进行,确保版本签名无人员接触。

PGP安装

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

  1. 官方网站下载Gpg4win软件。
  2. 安装Kleopatra和GpgOL。

  3. 安装完毕后,运行Kleopatra,依次选择文件 > 新建密钥对 > 创建个人OpenPGP密钥对

    打开密钥创建向导窗口。

  4. 输入名字、电子邮件地址和passphrase完成密钥对创建。

  5. 运行Kleopatra,选择需要导出公钥的用户,单击“导出”,选择需要保存到的目录。

    导出后的公钥文件后缀名为asc。

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

  6. 打开Outlook,创建新邮件。
  7. 在工具栏中选在GpgOL插件,勾选“Encrypt”和“Sign”,单击发送邮件。

    此时收件人则可以看到带有加密、签名标记的邮件。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词