一、安装操作系统,配置BIOS
SGX的官方安装文档中要求系统是UEFI,如果硬件支持SGX,将其设置为enabled,不要设置为software那个选项。然后Intel官网下载下面的几个软件。
二、安装Intel ME
因为SGX部分功能需要单调计数器和其它一些组件,需要安装Intel Management Engine Driver
我的系统是win10,先用的家庭版没有成功,后来改到专业版可以用了,到Intel官网下载对应的ME版本即可。
我下的是上面的ME_SW_1909.12.0.1236,解压安装\ME_SW_1909.12.0.1236\Corp\ME_SW_MSI\SetupME.exe即可。
三、安装Visual studio 2017,这一步必须在安装SGX前完成,否则会出错。
目前SGX好像还不支持Visual Studio 2019,可以安装VS2015或VS2017。
在刚开始安装的时候总会提示VS_InstallerShell.exe has an invalid certificate.后来我又下载了一个VS2019的安装包,安装了VS2019_Installer,然后再回过来安装VS2017_Installer就不报这个错了,不知道具体原因。
安装VS2017里面的组件我选了C++,C#一些常用的。根据自己需要进行选择吧.
四、安装SDK、PSW
如果硬件不支持SGX,可以不用装PSW,只安装SDK可以使用模拟选项进行编译;如果支持SGX,就可以安装PSW进行真实enclave程序的运行。
(一)先安装SDK
SDK直接安装就行。Intel(R)_SGX_Windows_SDK_2.5.101.3.exe
(二)再安装PSW
PSW有在线安装和离线安装两种方式。在线安装的意思是开启Window update会自动完成。这里介绍离线安装吧。解压上面的PSW软件,有5个文件:
查看自己操作系统的内部版本号,在运行中输入winver会有显示
如果系统是Windows 10 Fall Creators Update (version 1709) 及之后的,进PSW_INF_RS3_and_above文件夹,如果是之前的进PSW_EXE_RS2_and_before直接双击.exe文件进行安装。如果是之后的,用管理员身份运行windows powershell打开命令行窗口,然后进 PSW_INF_RS3_and_above\device,一直往下点,直到出现有sgx_base.inf文件,复制当前路径,在命令行窗口中输入cd "复制的路径",然后输入下面的命令:
pnputil /add-driver sgx_base.inf /install
再进行到PSW_INF_RS3_and_above\component,一直往下点,直到出现有sgx_psw.inf文件,复制当前路径,在命令行窗口中输入cd "复制的路径",然后输入下面的命令:
pnputil /add-driver sgx_psw.inf /install
五、检查SDK、PSW
(一)SDK
打开visual studio 2017,新建c++项目,有下面SGX Enclave Project选项应该就没问题了。
(二)检查PSW
右键”此电脑“-管理-设备管理器-软件组件,里面有SGX
再右键查看属性-事件,有下面的这些PSW应该就安装成功了。
六、SGX示例程序运行
在SDK安装目录C:\Program Files (x86)\Intel\IntelSGXSDK\src下面有一些示例程序,打开SampleEnclave文件夹,SampleEnclave.sln可以双击打开。
想要运行enclave示例程序的话有个坑,因为这些示例程序好像需要Windows SDK 10.0.16299.0这个版本,如果没有安装的话,打开visual studio installer,点击修改-单个组件,安装下面这两个:
然后回到Visual studio 2017里面,右键项目-属性-常规,将Windows SDK版本设置为10.0.16299.0
然后再编译运行就可以了。
有什么问题请留言指教,虽然也不一定能解决。。。。。。