intel SGX学习笔记(7):SGX项目目录结构介绍

本文详细介绍了SGX项目的基本目录结构,包括App、Enclave和Include文件夹,以及它们包含的重要文件和功能,如Enclave的配置、代码实现和可信函数接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

intel SGX学习笔记(7):SGX项目目录结构介绍

本文介绍了SGX项目的目录结构,方便贯通基础的SGX开发思路,借号内容为SGX项目的关键文件,也就是我们开发或者科研需要修改的文件,以SampleEnclave项目为例,这个项目是一个最初始化的SGX项目

一、项目主目录介绍

在这里插入图片描述

1、App文件夹是作为非安全区的代码编写区,里面有非安全的代码编写文件App.cpp
2、Enclave文件夹是安全区代码区的编写区,包含安全区Enclave的代码编写区Enclave.cpp和Ecall、Ocall函数的实现
3、Include文件夹是一些用户自定义的头文件编写区
4、app是make编译后生成的可执行文件
5、enclave.signed.so是未经过数字签名的Enclave库文件,它包含了Enclave的二进制代码和数据,但没有经过数字签名
6、enclave.signed.so是经过数字签名的Enclave库文件,它包含了Enclave的二进制代码和数据,并且已经经过数字签名
7、makefile文件是make编译项目的配置文件
8、README.txt文件是项目的介绍

二、 APP文件夹

在这里插入图片描述

1、Edger8rSyntax文件夹提供一些可信工具
2、TrustedLibrary文件夹可信函数库
3、App.cpp是整个项目的入口文件和非安全区的代码编写文件,是我们主要开发的文件,里面在main函数中来调用Ecall函数和Ocall函数,完成安全区Enclave的创建和销毁
4、App.h文件是应用程序中的不可信部分代码的头文件,定义了一些宏常量和函数声明

三、Enclave文件夹

在这里插入图片描述

1、Edger8rSyntax文件夹提供一些可信工具
2、TrustedLibrary文件夹可信函数库
3、Enclave.config.xml文件是Enclave的配置文件,定义了Enclave的元数据信息
4、 Enclave.cpp文件是应用程序中的可信部分代码,在里面实现自己的可信函数,是主要编写的区域
在这里插入图片描述

5、 Enclave.h文件是应用程序中的可信部分代码的头文件,包含了Enclave的接口定义和数据结构,定义了一些宏常量和函数声明,在Enclave.cpp中实现自己的可信函数后,要把可信函数名添加到这里面,相当于一个接口定义的感觉
在这里插入图片描述

6、Enclave.edl文件是Enclave的接口定义文件,ECALL函数接口和OECALL函数接口,trusted中定义ECALL函数接口,untrusted中定义OECALL函数接口,相当于一个区分的感觉
在这里插入图片描述

7、 Enclave.lds文件定义了一些Enclave可执行文件信息
8、 Enclave_private.pem文件是SGX生成的私钥

四、Include文件夹

在这里插入图片描述

1、user_types.h文件是作为用户自定义的头文件编写区

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值