---
title: 编译演示Demo
description: "kunpengsecl仓库提供了远程证明中除QCA lib和QTA以外的所有工具以及演示Demo。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/trustzone/fg/kunpengtrustzone_20_0028.html
sourcePath: /source/zh/kunpengcctrustzone/trustzone/fg/kunpengtrustzone_20_0028.html
indexId: 40538f216abd6b9a2fb7f35e1c4e048dba06b1f652e36aed13a20a0d033269ce72
---
# 编译演示Demo

kunpengsecl仓库提供了远程证明中除QCA lib和QTA以外的所有工具以及演示Demo。

1. 下载鲲鹏安全库。
  1 git clone -b v2.0.2 https://gitcode.com/openeuler/kunpengsecl.git

2. 依赖itrustee_sdk CA头文件，可使用编译部署QCA lib和QTA中下载的itrustee_sdk提供的头文件进行配置。
  a. 打开“Makefile”文件。
    1 vim kunpengsecl/attestation/rac/Makefile

  b. 按“i”键进入编辑模式，将“/opt”修改为itrustee_sdk的实际路径。
  c. 按“Esc”键退出编辑模式，输入:wq!并按“Enter”键保存退出文件。
  d. 打开“katools_arm64.go”文件。
    1 vim kunpengsecl/attestation/rac/ka/katools/katools_arm64.go

  e. 按“i”键进入编辑模式，将路径中的“/opt”替换为itrustee_sdk的实际路径。
  f. 按“Esc”键退出编辑模式，输入:wq!并按“Enter”键保存退出文件。
3. 依赖libteec_adaptor.so库，可使用获取iTrustee Patch包中下载的itrustee_sdk源码编译出动态库，并拷贝到系统路径下。
  1 2 3 cd itrustee_sdk/src/CA gcc -fPIC -shared -o libteec_adaptor.so libteec_adaptor.c -I ../../include/CA/ cp libteec_adaptor.so /usr/lib64/

4. 依赖cJSON动态库，可使用5中下载的cJSON源码进行安装。
  1 2 3 cd itrustee_sdk/test/TA/qta/src/cJSON make && make PREFIX=/usr install ldconfig

5. 依赖1.17版本的golang，可通过如下方式配置。
  1 2 3 4 wget https://go.dev/dl/go1.17.13.linux-arm64.tar.gz tar xvf go1.17.13.linux-arm64.tar.gz export PATH=$PWD/go/bin/:$PATH go version

6. 编译远程证明Demo，一键完成所有组件的编译。
  1 2 3 yum install openssl-devel cd kunpengsecl make clean && make build

  编译成功后，会生成演示Demo涉及的应用，比如qcaserver、qca_daemon、libteeverifier.so等。此外还生成了用于模拟测试的so库，需删除，否则QCA lib会优先使用模拟器的so库。

  1 rm -rf attestation/tee/tverlib/simulator/*.so

7. 部署libteeverifier.so。
  1 cp -rf attestation/tee/tverlib/verifier/libteeverifier.so /usr/lib64/
