本文以iTrustee SDK中itrustee_sdk-1.0版本和rsa-demo代码为例介绍TA/CA编译环境部署,操作系统版本为openEuler 20.03 LTS-SP1。
下载地址: https://gitee.com/openeuler/itrustee_sdk/tree/itrustee_sdk-1.0/
代码分支:itrustee_sdk-1.0
SDK中主要涉及“build”、“include”、“test”、“thirdparty”四个目录。其中:
下载地址:https://gitee.com/openeuler/libboundscheck
代码分支:master
将下载的libboundscheck文件夹移动到“itrustee_sdk/thirdparty/open_source/”目录下,如下图所示。
1 2 |
cd itrustee_sdk/test/CA/rsa_demo/cloud make |
编译后,会在Makefile文件同级目录产生CA二进制文件,如下图所示。
1 2 |
cp rsa_demo/signed_config/config itrustee_sdk/test/TA/rsa_demo/cloud/signed_config/ cp rsa_demo/TA_cert/private_key.pem itrustee_sdk/test/TA/rsa_demo/cloud/TA_cert/ |
1 2 |
cd itrustee_sdk/test/TA/rsa_demo/cloud make |
编译后,会在Makefile文件同级目录产生TA应用.sec文件,文件名为每个TA应用独有的UUID。
一个标准的TA应用,除了源代码,还应当包括TA私钥、签名后的config、config_cloud.ini配置文件、manifest.txt,如下图所示。其中config_cloud.ini、config、private_key.pem与TA应用签名相关,相关文件产生方式请参考调测环境TA应用开发者证书申请。manifest.txt文件描述了TA应用在TEE侧可使用资源情况,由开发者自行提供。
manifest.txt文件示例如下。
1 2 3 4 5 6 7 |
gpd.ta.appID: f68fd704-6eb1-4d14-b218-722850eb3ef0 gpd.ta.service_name: rsa-demo gpd.ta.singleInstance: true gpd.ta.multiSession: false gpd.ta.instanceKeepAlive: false gpd.ta.dataSize: 67928064 gpd.ta.stackSize: 40960 |
其中:
更多manifest.txt支持字段请参见《iTrustee SDK开发者手册》。
《iTrustee SDK开发者手册》需向华为业务负责人申请获取。