开发TEE的踩坑之配置PCCS

本系列为笔者开发TEE(Trusted Execution Environment,可信执行环境)的系列踩坑文,给广大开发者分享自己的所谓的“经验”,希望对大家有帮助。

开发路线为:

  1. 装Ubuntu20.04的双系统(不展开,B站有很多教程)
  2. 配置SGX环境(前提是SGX机器,最好是SGX2)
  3. 配置PCCS(很蛋疼,英特尔官方github的步骤也未必行得通)
  4. 开发TEE(花的时间最多)

本篇文章分享配置PCCS的踩坑
笔者是在这篇文章的配置PCCS的基础上,结合ChatGPT给出的回答去解决途中遇到的问题的。
部分读者可能会直接参考英特尔官方github的步骤来配置PCCS,但很明显,能特地搜这篇文章一定是遇到问题的,笔者猜测很可能是node.js版本的问题。并非笔者想黑,若按照他们官方给的步骤是无法顺利配置好PCCS的,而且官方回答issue给出的安装文档都是几年前的,甚至连Ubunt20.04的字眼都没出现过,最新的也就18.04(QAQ)
话不多说,配置PCCS的正确步骤如下:

一、解决node.js的版本问题

sudo su
apt-get install sgx-dcap-pccs

不出意外的话,一定会出意外的
安装了一堆东西之后,会出现以下关于node.js版本问题的报错
没错,就是node.js版本的问题

npm i nvm -g

在这里插入图片描述

cd /opt/intel/sgx-dcap-pccs
node -v

输出是v10.19.0

此时执行nvm install 18.17或者nvm list,输出都是如下

This is not the package you are looking for: please go to http://nvm.sh

执行

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

在这里插入图片描述
很显然,依然是nvm和node.js存在问题

source /home/<用户名>/.nvm/nvm.sh

再次执行

nvm list

不出意外应该是如下输出
在这里插入图片描述
再次执行

npm i nvm -g

在这里插入图片描述
再次执行

nvm install 18.17

不出意外应该能安装该版本的node.js
在这里插入图片描述
再次执行

nvm list

很明显,node.js版本已经默认为18.17.1
在这里插入图片描述
重新装一下PCCS

./cleanup.sh
./install.sh

不出意外的话,肯定会出现以下输出
在这里插入图片描述
!恭喜你已经迈过第一个小坎!
接下来的操作与一致英特尔官方的DCAP安装指南一致
这里温馨提示一下,PCS API key可以在这里订阅
输入主密钥或副密钥都可以
在这里插入图片描述

二、解决开启PCCS服务的问题

1、解决开启PCCS服务

此时执行

systemctl status pccs

不出意外的话,输出一定是白点的pccs.service和inactive的Active
在这里插入图片描述
执行

./startup.sh

在这里插入图片描述
再执行

systemctl restart pccs
systemctl status pccs

不出意外的话,pccs服务可以正常启动了
在这里插入图片描述

2、解决访问本地的8081端口

执行

curl -kv https://localhost:8081

不出意外的话,一定是无法访问的
在这里插入图片描述
这里千万要注意(血淋淋的教训):
一定不要以为是防火墙出问题而去执行sudo ufw allow 8081
因为一般的ubuntu系统如果你输入sudo ufw status,输出是状态:不活动,也就是说你的ubuntu是没有防火墙,所以你现在无法访问8081端口和防火墙没有半毛钱关系的。
不然上两张图里的pccs.service不仅会变成白点,而且还会出现新的报错,如下(笔者已经为大家踩过坑了)
在这里插入图片描述
执行

nano pccs_server.js

确保文件开头的import是import Config from 'config';
执行

npm ls config

确保有config模块在这里插入图片描述
如果没有的话,就安装一下

npm install config

修复一下权限问题

chmod -R 755 /opt/intel/sgx-dcap-pccs

执行

node pccs_server.js

在其他终端再次执行

curl -kv https://localhost:8081

如果输出是这样的话
在这里插入图片描述
!恭喜你已经迈过第二个小坎,已经完美地配置好PCCS了!

提示:本文配置PCCS仅供参考,因为每台机器的系统、预装的软件都不一样,而且大家能特地来看这篇文章,大概率是已经执行了英特尔官方的配置PCCS步骤遇到坎了,再来按照本文的步骤走不一定能获得一样的结果。

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值