特性使用
固件 |
版本要求 |
---|---|
TEE OS |
不低于1.2.0 |
软件名称 |
说明 |
获取途径 |
---|---|---|
cert manager CA |
证书导入工具CA源码 |
|
cert manager TA |
证书导入工具TA源码 |
当前版本中,TA证书导入工具的CA(cert manager CA)、TA(cert manager TA)均开源至openEuler社区,TA证书导工具获取、编译使用可参考如下步骤。
- 下载配套iTrustee SDK,已包含cert manager CA、cert manager TA源码。
下载地址: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
- 设置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格式。
- 编译cert manager CA、TA工具。
- 编译cert manager CA。
cd itrustee_sdk/test/CA/certmanager #请根据实际路径予以替换 make cp certmanager /vendor/bin
编译成功后,会在当前目录产生certmanager二进制,需部署到“/vendor/bin”目录。该目录由cert manager TA代码指定,可根据实际需要予以替换。
- 编译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代码指定,可根据实际情况予以修改。
- 编译cert manager CA。
- 运行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}, 在未导入第三方二级证书时,可直接导入由华为签发的证书吊销列表;导入第三方证书吊销列表时,要求对应的第三方二级证书已导入。