---
title: 部署远程证明SDK
description: "远程证明SDK是一套用于验证远程设备可信状态的软件工具，部署后可实现对虚拟机等环境的安全认证。本章节主要介绍远程证明相关组件部署。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_16_0033.html
sourcePath: /source/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_16_0033.html
indexId: a096e2be591d7291a85066a67d418968619b485dc4a74ae2a59229d2fc3beb6565
---
# 部署远程证明SDK

远程证明SDK是一套用于验证远程设备可信状态的软件工具，部署后可实现对虚拟机等环境的安全认证。本章节主要介绍远程证明相关组件部署。

#### 部署远程证明SDK

参考以下步骤完成远程证明SDK部署，软件包版本、获取方式参见表2。

1. 安装远程证明库。

```
yum install virtCCA_sdk virtCCA_sdk-devel
```


2. 安装编译依赖。

```
yum install tar cmake make git gcc gcc-c++ openssl-devel glib2-devel rsync patch
```


3. 编译、安装QCBOR组件。

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


  若git clone失败，可先执行以下命令取消git clone过程中SSL校验后重试。 git config --global http.sslVerify false

4. 编译、安装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 ..
```


#### 获取虚拟机基线度量值

1. 生成DTB设备树二进制文件。

  a. 编辑cVM的xml配置，增加如下透传QEMU参数。

```
<qemu:arg value='-machine'/>
<qemu:arg value='dumpdtb=/path/to/dump.dtb'/>
```


    其中dumpdtb为指定的DTB生成路径。

  b. 启动cVM虚拟机，将在指定路径下生成dtb文件。

```
virsh define <cvm.xml>
virsh start <cvm>
```


  c. 编辑cVM虚拟机xml配置，删除增加的QEMU透传参数。
2. 基于gen_rim_ref获取cVM基线度量值。gen_rim_ref由virtCCA_sdk软件包提供。

```
gen_rim_ref -f <firmware_path> -d <dtb_path> -v <vcpu_num> -s <sve_vector_length> -m <pmu_counter_num> -a <ipa_width>
```


**表1 参数说明**

| 参数 | 描述 |
| --- | --- |
| dtb\_path | cVM的设备树二进制文件。 |
| vcpu\_num | cVM虚拟机配置虚拟CPU个数。 |
| firmware\_path | cVM配置的UEFI固件路径。 |
| sve\_vector\_length | cVM配置SVE向量长度，不传递默认为0。 |
| pmu\_counter\_num | 为cVM配置PMU数量，不传递默认为0。 |
| ipa\_width | 为cVM的物理地址位宽，不传递默认为40。 说明： 从openEuler 24.03 LTS SP3开始，qemu开始支持ub设备，虚拟机物理地址位宽拓展至43bit，早期版本物理地址位宽为40bit。 |


  默认使用的hash算法为SHA256，若需要使用SHA512，可修改gen_rim_ref源码中的hash_algo为1。gen_rim_ref源码位于“virtCCA_sdk/attestation/rim_ref/”下。
