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

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

1. 下载鲲鹏安全库。

```
git clone -b v2.0.2 https://gitee.com/openeuler/kunpengsecl.git
```


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

```
vim kunpengsecl/attestation/rac/Makefile
```


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

```
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源码编译出动态库，并拷贝到系统路径下。

```
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源码进行安装。

```
cd itrustee_sdk/test/TA/qta/src/cJSON
make && make PREFIX=/usr install
ldconfig
```


5. 依赖1.17版本的golang，可通过如下方式配置。

```
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，一键完成所有组件的编译。

```
yum install openssl-devel
cd kunpengsecl
make clean && make build
```


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

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


7. 部署libteeverifier.so。

```
cp -rf attestation/tee/tverlib/verifier/libteeverifier.so /usr/lib64/
```
