本文主要是介绍windows10 SGX开发环境搭建及简单应用的开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目 录
实验环境:
SGX开发环境搭建:
开发一个简单的可信应用:
1. 创建Enclave项目
2. 创建C++空项目
3. 编译并执行
实验环境:
windows 10系统,Visual Studio 2017
SGX开发环境搭建:
1. Intel ME下载及安装:Intel ME下载地址
2. SGX SDK 下载及安装:SGX SDK下载地址(解压后,双击安装程序进行安装)
3. 检查是否配置成功:打开VS2017,新建C++项目,出现SGX Enclave Project选项,说明环境配置成功
开发一个简单的可信应用:
本程序(名称:BubbleSort)根据冒泡排序算法通过编写冒泡排序函数,对用户随机输入的五个数按照从小到大进行排列。本程序包含一个冒泡排序函数(BubbleSort)和一个程序主函数(main)。将冒泡排序函数(BubbleSort)放入可信区,main函数通过ECALL函数调用可信区内的冒泡排序函数(BubbleSort)。具体操作步骤如下:
1. 创建Enclave项目
(1)创建一个Intel Eclave项目(BubbleSort):打开VS2017,新建-->项目,选择SGX Enclave Project选项,编辑名称为BubbleSort
(2)BubbleSort项目创建成功之后,修改Source Files文件夹下的BubbleSort.edl文件内容,在trusted中声明函数BubbleSort(该函数的作用是实现冒泡排序算法)
(3)修改Source Files文件夹下的BubbleSort.cpp文件内容,添加在上一步中所声明的函数(BubbleSort)的实现代码:
(4)修改BubbleSort项目的属性:
右键BubbleSort项目,选择“属性”打开BubbleSort属性页,在最上端的“配置(C)”处选择“所有配置”,其右边的“平台(P)”处选择“Win32”,在“配置属性”下面的“调试”,在右侧“要启动的调试器”中选择“Intel(R) SGX Debugger”,下面的“Working Directory”后面修改为“$(OutDir)”,点击“确定”
2. 创建C++空项目
(1)创建名为main(BubbleSort)的空项目(用以调用可信区间的BubbleSort函数,实现对随机数组的排序):右键“解决方案‘BubbleSort’”-->添加-->新建项目-->空项目
(2)在main(BubbleSort)项目的“源文件”下添加“main.cpp”,添加如下代码:
(3)在main(BubbleSort)项目中导入Enclave项目(BubbleSort)的依赖
①右键main(BubbleSort)项目:
选择“Intel SGX Configuration-->Import Enclave”,在BubbleSort.edl前面勾选,点击“OK”
②右键main(BubbleSort)项目:
选择“属性”,打开main(BubbleSort)属性页,在最上端的“配置(C)”处选择“所有配置”,其右边的“平台(P)”处选择“Win32”;
选择“配置属性”-->“调试”,将工作目录修改为“$(OutDir)”,点击“确定”
③右键“解决方案‘BubbleSort’ --> 属性 ”:
点击“通用属性”下的“启动项目”,点击“单启动项目”,并在下面选择“main(BubbleSort)”;
点击“项目依赖项”,在右边选择项目"main(BubbleSort)",并在下面的“依赖于(D)”中勾选“BubbleSort”,点击确定
3. 编译并执行
(1)编译结果:
(2)出现报错:
该错误说明SGX PSW没有安装成功或者本机不支持SGX,只需将vs2017的配置由“Debug”改为“Simulation”,即通过SGX SDK中内置的模拟器来运行和调试Enclave程序
(3)执行结果:(成功执行!)
这篇关于windows10 SGX开发环境搭建及简单应用的开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!