我有一个像这样的C++结构:
struct node
{
string splitOn;
string label;
bool isLeaf;
vector<string> childrenValues;
vector<node*> children;
};
Run Code Online (Sandbox Code Playgroud)
我想从App传递或读取这个到英特尔SGX飞地.根据这里提到的内容:https://software.intel.com/en-us/forums/intel-software-guard-extensions-intel-sgx/topic/703489
我试过这个:
APP:
node *root = new node;
root = buildDecisionTree(dataTable, root, *tableInfo); //this initializes the root
void *data3 = static_cast<void*>(root);
ecall_my_dtree(global_eid, &ecall_return, data3);
Run Code Online (Sandbox Code Playgroud)
EDL:
public int ecall_my_dtree([user_check] void* data);
Run Code Online (Sandbox Code Playgroud)
飞地:
int ecall_my_dtree(void *data2)
node* root2 = static_cast<node*>(data2);
Run Code Online (Sandbox Code Playgroud)
但似乎,root2无法正确初始化并指向垃圾.
关于user_check:https://software.intel.com/en-us/node/708978
关于如何正确读取飞地内数据的任何帮助.PS:英特尔SGX飞地不支持任何序列化库.
我也在这里问了类似的问题,但对我的小脑子没有真正有用的答案. https://github.com/intel/linux-sgx/issues/229
我可以在 iOS Secure Enclave 中存储的密钥数量是否有限制?
我已经阅读了 Apple关于 Secure Enclave的文档(有很多相关页面)以及 Apple关于 security的文档,但是我没有找到关于 Secure Enclave 容量的任何信息。