代码拉取完成,页面将自动刷新
secGear尚未支持SGX平台远程证明
本样例需要申请两个开发者证书,一个给目标TA用,一个给QTA用(QTA的uuid固定为e08f7eca-e875-440e-9ab0-5f381136c600),并将申请到的config文件上传到开发环境
调测环境TA应用开发者证书申请方法
git clone https://gitee.com/openeuler/itrustee_sdk.git
git clone https://gitee.com/openeuler/libboundscheck.git
cp -rf libboundscheck/ itrustee_sdk/thirdparty/open_source/
vim itrustee_sdk/test/CA/libqca/src/ra_operate_api.c
// 查找TEEC_OpenSession,并在TEEC_OpenSession上一行增加如下内容
context.ta_path = (uint8_t *)"/data/e08f7eca-e875-440e-9ab0-5f381136c600.sec";
cd itrustee_sdk/test/CA/libqca #请根据实际路径予以替换
make
cp output/libqca.so /usr/lib64 && ldconfig
vim itrustee_sdk/test/TA/qta/src/tee_qta.c
// 并在TA_CreateEntryPoint函数中/* TA auth CA */注释下添加如下内容
// 添加允许调用QTA的CA程序,
ret = addcaller_ca_exec("/vendor/bin/secgear_la_demo", "root");
if (ret != TEE_SUCCESS)
return ret;
// 下载第三方依赖cJSON
wget https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.15.tar.gz
tar xvf v1.7.15.tar.gz
mv cJSON-1.7.15/ itrustee_sdk/test/TA/qta/src/cJSON
// 配置QTA开发者证书
// 将QTA开发者证书对应的私钥、config文件放到如下目录下
itrustee_sdk/build/signtools/signed_config/config
itrustee_sdk/build/signtools/TA_cert/private_key.pem
// 根据QTA开发者证书申请是的config.xml,修改itrustee_sdk/test/TA/qta/manifest.txt中字段
pip3 install pycryptodomex #安装iTrustee SDK TA签名工具依赖
cd itrustee_sdk/test/TA/qta #根据实际路径予以替换
make
// 当前本地证明和远程证明QTA的路径不一致,待itrustee_sdk归一
cp e08f7eca-e875-440e-9ab0-5f381136c600.sec /var/itrustee/ta/
// install build require depends openEuler 22.03 LTS SP2 repo
sudo yum install -y cmake ocaml-dune itrustee_sdk-devel secGear-devel
// clone secGear repository
git clone https://gitee.com/openeuler/secGear.git
// 配置目标TA开发者证书
// 根据目标TA开发者证书对应的config.xml修改secGear/examples/local_attest/enclave/manifest.txt中字段
// 修改secGear/examples/local_attest/enclaveconfig_cloud.ini文件中encryptKey、signKey、configPath三个路径
// 放开secGear/examples/local_attest/enclave/CMakeLists.txt如下几行注释,开启签名
add_custom_command(TARGET ${PREFIX}
POST_BUILD
COMMAND bash ${SIGN_TOOL} -d sign -x trustzone -i ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/lib${PREFIX}.so -c ${CMAKE_CURRENT_SOURCE_DIR}/manifest.txt -m ${CMAKE_CURRENT_SOURCE_DIR}/config_cloud.ini -o ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${OUTPUT})
install(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${OUTPUT}
DESTINATION /data
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
// build example local attest
cd secGear/examples/local_attest
mkdir build&& cd build && cmake -DENCLAVE=GP .. && make && sudo make install
// config basevalue.txt
// edit basevalue.txt to overwrite taid img_hash mem_hash, the img_hash and mem_hash comes from /opt/itrustee_sdk/build/signtools/hash_uuid.txt
// run demo
/vendor/bin/secgear_la_demo
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。