- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 OCalls 从 enclave 读取文件的内容。
飞地.edl:
untrusted {
void ocall_print_string([in, string] const char *str);
void ocall_read_IMA_file([in, string] const char *filename, [out] char *buf, [out] int *size);
};
飞地.cpp:
void printf(const char *fmt, ...) {
ocall_print_string(fmt);
}
void read_IMA_file(const char *filename, char *buf, int *size) {
ocall_read_IMA_file(filename, buf, size);
printf(buf);
}
//whereas the read_IMA_file function is called with
char *buf;
int size;
read_IMA_file("test.txt", buf, &size);
应用程序中ocall函数的实现:
void ocall_print_string(const char *str) {
printf("%s\n", str);
}
void ocall_read_IMA_file(const char *filename, char *content, int *size) {
content = (char*) malloc(sizeof(char) * 10);
memset(content, '\0', sizeof(char) *10);
char tmp[] = "1234567890";
copy(&tmp[0], &tmp[9], content);
cout << content << endl;
}
但我收到的结果如下:
123456789 (null)
我不确定我做错了什么?
最佳答案
在上面的程序中,使用字符类型的指针变量(OUT 指针)调用“read_IMA_file”可信函数。这里我们传递指针变量而没有分配任何内存。“read_IMA_file”发起一个分配内存并执行“复制”操作的OCall。现在分配的内存在不受信任的区域内有效。所以我们得到了“cout<
由于没有为“content”分配可信内存(在调用Ocall 之前),因此在Ocall 返回期间“OUT”指针不会发生复制回操作。因此,在 Ocall 返回可信区域后执行“print(buf)”时,“buf”不包含任何有效数据。
请尝试使用指向字符缓冲区的有效 OUT 指针(有一些内存分配)或指向字符串缓冲区的 IN 和 OUT 指针。
关于c++ - 读取 SGX 飞地中的文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41449431/
我是Intel SGX和Docker的新手。我试图确定是否可以将“敏感”程序和数据放置在Docker容器中,并将该容器作为SGX硬件中的受信任(安全区域)组件运行。我计划使用SGX平台的最新Linux
我在英特尔网站上看到here有一个 OpenSSL 库可用于 SGX,但仅适用于 Windows。 有谁知道Linux SGX SDK是否也有这样的扩展? 最佳答案 Linux SGX SSL Cry
英特尔的文档说 here如果没有先前的启动 token ,则应使用全为零的“无效” token 。这在模拟模式下完美运行,但在硬件模式下它返回 SGX_ERROR_INVALID_LAUNCH_TOK
我正在尝试编写一个 SGX enclave,它接受 int 的二维 vector (表示灰度图像),但 edger8r 只接受 C 类型。 我知道 this和 this , 但有人可以提供一个关于如何
我是一名优秀的程序员,十分优秀!