yum install tar cmake make git gcc gcc-c++ openssl-devel glib2-devel rsync patch
git clone https://github.com/laurencelundblade/QCBOR.git -b v1.2 git clone https://github.com/laurencelundblade/t_cose.git -b v1.1.2 cd QCBOR make make install cd ../t_cose cmake -S . -B build -DCRYPTO_PROVIDER=OpenSSL cmake --build build cmake --install build
若git clone失败,可先执行以下命令取消git clone过程中SSL校验后重试。
git config --global http.sslVerify false
yum install virtCCA_sdk virtCCA_sdk-devel
cd ../ git clone -b master https://gitee.com/openeuler/virtCCA_sdk.git
该Demo提供了简单的远程证明流程参考代码,仅用于验证TEE远程证明功能,用户可基于Demo参考实现远程证明。
参考代码编译需要依赖远程证明SDK,编译前请参见环境准备安装编译依赖。
cd virtCCA_sdk/attestation/samples cmake -S . -B build cmake --build build
server和client使用TCP进行数据传递,出于安全考虑,建议优先使用rats-tls。
rats-tls是一种支持异构硬件可执行环境的双向传输层安全性协议,提供更为安全数据传输。TEE套件完成了rats-tls的适配支持,并提供简单的Demo样例,仅用于验证rats-tls的双向验证功能,客户可基于此Demo开发自己的远程证明应用。
cd ../../../ git clone https://github.com/PJK/libcbor.git cd libcbor cmake -S . -B build cd build make make install
cd ../../ git clone https://github.com/inclavare-containers/rats-tls.git
cd rats-tls git reset --hard 40f7b78403d75d13b1a372c769b2600f62b02692 git apply ../virtCCA_sdk/attestation/rats-tls/*.patch
bash build.sh -s -r -c -v gcc
检查“bin”目录下是否已生成软件包。
在某些场景下,客户期望在cVM启动时对cVM进行度量和验证,若验证不通过,则不启动cVM虚拟机。SDK基于buildroot和rats-tls样例提供了演示样例。
cd ../ vim virtCCA_sdk/attestation/initramfs/build.sh
cd virtCCA_sdk/attestation/initramfs export FORCE_UNSAFE_CONFIGURE=1 bash build.sh
ll buildroot/output/images/