看了那麼多博客,可以用,但是大都卡在了最後一步: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。