看了那么多博客,可以用,但是大都卡在了最后一步:error:0x200f;只能自己解决问题,于是写了这篇博客,供大家一起学习
配置:
一、 IDE:visual stdio 2017专业版(2015的社区版也可以)
二、(Sofaware Guard ExtensionIntel)
版本:SGX SDK for Windows v2.4.100.51291.exe(必备)
传送门
三、Intel® Platform Developer Kit for Software Guard Extensions(这个我也没有成功安装,后面再看它的报错,另外去下载下面两个个ddl文件就行,安装到“IntelSGXSDK\bin\x64\Release”这里)
sgx_uae_service.dll 和 sgx_urts.dll
四、系统:win10
创建第一个“hello Enclave”工程:
第一步:
创建一个控制台应用程序“sgx_sample_App”
第二步:
创建一个Enclave项目“sample_Enclave”,
一切设置默认就行,finish。
第三步引入:
在控制台应用程序内“sgx_sample_App”里添加Enclave项目
操作:文件->添加->现有项目
在APP属性处设置
至此一个搭载Encalve的APP程序就就好了
第四部:开始敲代码
打开Enclave的edl文件
在enclave.cpp内部实现函数,注意头文件的引用
在main函数实现
在运行前还要设置两个输出路径:
APP的,还有enclave的
同时,调试模式改为simulation,路径设置为$(OutDir)
可能版本Enclave的sgx版本会和APP的不一致,需要修改一致
在运行前先对Enclave进行生成,产生signed.dll文件,不然会报错0X200f。