如何從一個(Intel® Software Guard Extensions)飛地內Intel® SGX無Intel® SGX庫
- 嘗試將飛地與不在受信任程式庫清單上的靜態程式庫連結。
- 飛地簽署步驟失敗,並出現錯誤: 飛地包含一個輸入表格。
嘗試將飛地連結到動態連結程式庫或未連結的程式庫,將失敗簽署程式。
將圍場連結到Windows*或 Linux*的開發人員參考指南 Intel® Software Guard Extensions (Intel® SGX) 的受信任程式庫區區中列出的受信任靜態連結庫。
與其從飛地直接呼叫未設計庫,請 開發未開發 應用程式介面功能,以存取未連接庫。
然後為未連結的介面功能建立 OCALL。飛地會透過 OCALL 間接存取程式庫,以存取未連結應用程式中的介面功能。
請參閱 Intel® Software Guard Extensions Windows* 作業系統 的 SDK 開發人員參考檔 ,以進一瞭解有關連結飛地與程式庫的資訊。
在連結飛地 與程式庫 區 區 段:
「飛地 DLL 不得以任何方式取決於任何動態連結的庫...如果飛地檔案具有任何已更改的依存關係,飛地映射簽署程式將會失敗。這表示飛地必須具有空的 IAT (輸入位址表格)。」
在受信任程式庫 區 段:
「請勿將飛地連結到任何未連結的庫,包括 C/C++ 標準程式庫。此操作可能會失敗飛地簽署程式,或因為使用限制指令而導致執行時間失敗。」