在进行TA应用业务代码开发前,需要向华为申请TA应用开发者证书以及config二进制文件。TA开发者证书作为TA身份的唯一标识,包含TA uuid和TA应用名称,config二进制文件用于管控TA在TEE中可用资源信息。
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> |
配置项 |
说明 |
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,flase时,单位为字节。 |
gpd.ta.mem_page_align |
sys_verify_ta |
是否为系统TA,客户使用二级证书时,华为签发的普通TA证书将失效,系统TA仍可使用。 |
gpd.ta.sys_verify_ta |
1
|
openssl genrsa -out private_key.pem 4096 |
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" |
openssl req -noout -text -in cert_req_01.csr
为方便ISV快速体验开发过程,以上过程仅演示了最快捷方便的操作步骤,可用于调测环境。在商用业务开发环境中,保护ISV开发者证书签名密钥极其重要,相关密钥的安全使用方法由ISV自行设计和负责。
建议的方法包括但不限于:
PGP是一种数据加密和解密算法,提供数据通信加密和认证,常用于签名、加密、解密文件、电子邮件等。下文介绍了在Windows平台发送PGP加密邮件的步骤。
打开密钥创建向导窗口。
导出后的公钥文件后缀名为asc。
如果需要发送PGP加密邮件,需要将发件人的asc公钥导入到收件人的Kleopatra软件中;同理,发件人也需要导入收件人提供的asc公钥文件。
此时收件人则可以看到带有加密、签名标记的邮件。
若读者对资料内容或使用TEE过程中有任何疑问,可通过提工单的方式寻求帮助。