---
title: 特性使用
description: "**表1 固件版本要求**"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/confidt/kunpengtrustzone_04_0038.html
sourcePath: /source/zh/kunpengboostkithistory/2200/confidt/kunpengtrustzone_04_0038.html
indexId: cb933d08bc80b3963d0d1f6117d0afea4555c5ff7102ed0774e66622b05ca31976
---
# 特性使用


**表1 固件版本要求**

| 固件 | 版本要求 |
| --- | --- |
| TEE OS | 不低于1.2.0 |


**表2 软件包获取途径**

| 软件名称 | 说明 | 获取途径 |
| --- | --- | --- |
| cert manager CA | 证书导入工具CA源码 | https://gitee.com/openeuler/itrustee\_sdk.git(https://gitee.com/openeuler/itrustee\_sdk.git) |
| cert manager TA | 证书导入工具TA源码 | https://gitee.com/openeuler/itrustee\_sdk.git(https://gitee.com/openeuler/itrustee\_sdk.git) |


当前版本中，TA证书导入工具的CA（cert manager CA）、TA（cert manager TA）均开源至openEuler社区，TA证书导工具获取、编译使用可参考如下步骤。

1. 下载配套iTrustee SDK，已包含cert manager CA、cert manager TA源码。
  下载地址：https://gitee.com/openeuler/itrustee_sdk.git(https://gitee.com/openeuler/itrustee_sdk.git)

  代码分支：master

  iTrustee SDK已包含cert manager CA、TA源码，代码相对路径如下：

  cert manager CA: itrustee_sdk/test/CA/certmanager

  cert manager TA：itrustee_sdk/test/TA/certmanager

2. 设置cert manager TA根公钥。

```
vim itrustee_sdk/test/TA/certmanager/include/cert_config.h   #根据实际路径予以替换
```


  需要替换根公钥信息，即g_root_public_key数组内容。

  在已生成根公钥证书情况下，可使用如下指令从根证书中提取公钥信息。 openssl x509 -in {rootca.der} -inform DER -pubkey -noout -C 其中{rootca.der}为根证书，且为DER格式。

3. 编译cert manager CA、TA工具。

  a. 编译cert manager CA。

```
cd itrustee_sdk/test/CA/certmanager   #请根据实际路径予以替换
make
cp certmanager /vendor/bin
```


    编译成功后，会在当前目录产生certmanager二进制，需部署到“/vendor/bin”目录。该目录由cert manager TA代码指定，可根据实际需要予以替换。


  b. 编译cert manager TA。
    cert manager TA同普通TA一样，需先获取华为颁发的TA开发者证书，请参考调测环境TA应用开发者证书申请。

    需注意，cert manager作为特权TA，具有证书导入能力，在申请TA开发者证书时需在configs.xml中扩充<sys_verify_ta>和<CERT_Permission>字段。可参考如下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>
<sys_verify_ta>true</sys_verify_ta>
</TA_Manifest_Info>
<TA_Control_Info>
<CERT_Info>
<CERT_Permission>true</CERT_Permission>
</CERT_Info>
</TA_Control_Info>
</ConfigInfo>
```


    获取cert manager的TA开发者证书、签发的config二进制后，需将cert manager的TA私钥、config二进制部署到某一路径，例如：

    “itrustee_sdk/test/TA/certmanager/cloud/signed_config/config”

    “itrustee_sdk/test/TA/certmanager/cloud/TA_cert/private_key.pem”

```
cd itrustee_sdk/test/TA/certmanager/cloud
make
cp *.sec /data
```


    cert manager TA编译成功后，会生成{uuid}.sec文件，需部署到“/data”目录下。该目录由cert manager CA代码指定，可根据实际情况予以修改。

4. 运行cert manager CA、TA，实现第三方二级证书导入。

```
cd /vendor/bin/
/vendor/bin/certmanager import {second.der}
```


  其中{second.der}为2中根证书颁发的二级证书，要求为DER格式。成功导入后会提示success信息。

  成功导入后，开发者可基于二级证书自行颁发TA证书以及签发config，然后参与TA编译形成第三方TA，此时安全OS仅允许加载三方TA（由开发者二级证书签发的TA证书）以及系统TA（configs.xml注有<sys_verify_ta>标签）加载运行，原由华为签发的TA证书的TA将会加载失败。


certmanager提供证书导入功能、导入日志查询、证书销毁功能、证书导出和证书吊销列表导入功能。

- 证书导入功能：certmanager import {cert.der}
- 证书销毁功能：certmanager destroy
- 证书导入日志查询：certmanager export log
- 证书导出功能：certmanager export cert {cert.der}，要求{cert.der}文件已存在，{cert.der}文件将会保存当前安全OS已导入的证书信息。
- 证书吊销列表导入功能：certmanager import_crl {cert.crl}, 在未导入第三方二级证书时，可直接导入由华为签发的证书吊销列表；导入第三方证书吊销列表时，要求对应的第三方二级证书已导入。
