---
title: 使用远程证明Demo
description: "本章节主要介绍远程证明参考示例的使用。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/ccakit/fg-tz/kunpengtee_16_0058.html
sourcePath: /source/zh/kunpengcctrustzone/ccakit/fg-tz/kunpengtee_16_0058.html
indexId: 5c7047ca21f87a2a1e00be6d91055e72355b330f1da406b5c650f99dad2c10c366
---
# 使用远程证明Demo

本章节主要介绍远程证明参考示例的使用。

#### 远程证明Demo

提供远程证明Demo，该Demo提供了简单的远程证明流程参考代码，仅用于验证TEE远程证明功能，用户可基于Demo参考实现远程证明。请参考以下步骤完成远程证明示例编译、安装和运行。

1. 编译、安装QCBOR组件。

```
git clone https://github.com/laurencelundblade/QCBOR.git -b v1.2
cd QCBOR
make
make install
cd ..
```


2. 编译、安装t_cose组件。

```
git clone https://github.com/laurencelundblade/t_cose.git -b v1.1.2
cd t_cose
cmake -S . -B build -DCRYPTO_PROVIDER=OpenSSL
cmake --build build
cmake --install build
cd ..
```


3. 编译远程证明报告获取和验证的参考代码。

```
cd CCA/sdk/attestation/samples
cmake -S . -B build
cmake --build build
cd -
```


  编译成功后，可在“CCA/sdk/attestation/samples/build”目录下查看生成的client、server可执行文件。

  server端（二进制）包含了调用远程证明库获取远程证明报告的代码，仅供参考。 client端（二进制）包含了远程证明报告解析和验证的代码，仅供参考。

4. 请参见配置机密虚拟机完成机密虚拟机的启动，并将server部署到虚拟机任意目录下。
5. 在虚拟机内启动server。

```
./server -i <ip> -p <port>
```

其中：

  - 可选：ip：服务端配置的IP地址。默认为本地回环。
  - 可选：port：服务端配置的端口。默认为7220。
6. client发起远程证明请求。

```
./client -i <ip> -p <port> -m <measurement> -f </path/image_reference_measurement.json>
```


  - 可选：ip：要连接的服务端IP地址。默认为本地回环。
  - 可选：port：要连接的服务端端口。默认为7220。
  - measurement：cVM初始度量基线值。
  - image_reference_measurement.json：文件包含了qcow2镜像中各个组件的Hash值，用于验证qcow2镜像中各个组件的完整性，此处的JSON文件为    2
生成的image_reference_measurement.json。
    client侧远程证明报告验签成功。


远程证明Demo基于“/sys/kernel/config/tsm/report/report0”目录获取远程证明报告，运行Demo前请参考获取远程证明报告完成驱动加载和目录创建。
