- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我设法生成了我的 Enclave ( https://github.com/pc-magas/myFirstEnclave ),但据我所知,我需要生成一个 rsa key 才能对其进行签名。所以我跑:
openssl genrsa -out $(KEY_FILE) 2048
然后我运行以下命令对其进行签名:
sgx_sign -key (^key_generated)above^ -enclave enclave.o -out enclave.so -config Enclave.config.xml
但是我得到以下错误:
Key file format is not correct.
我尝试通过 ssh_keygen
生成 key ,但仍然出现同样的错误。
签署 enclave 需要什么样的格式?
我还尝试生成 key :
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/.sgx/MyEnclave.pem
还是一样的结果
最佳答案
Intel® Software Guard Extensions Developer Reference指定 SGX 飞地签名 key 文件应遵循包含未加密的 RSA 3072 位 key 的 PEM 格式,公共(public)指数必须为 3.
请参阅第 20 页(2017 年 11 月版本 2.0)- OpenSSL 示例,用于生成私钥的以下命令行:openssl genrsa -out private_key.pem -3 3072
关于linux - SGX Sign enclave 无法证明构建的 enclave : Key file format is not correct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47498426/
我通读了“本地证明”示例代码。我的想法是本地认证可以构建一个安全的 channel 来传输私有(private)数据。但是,我没有看到任何与检查代码相关的内容,并确保在 Enclave 中运行的代码是
在 intel SGX 中有两种不同的认证机制可用于远程和本地认证。有谁知道英特尔 SGX 中 DCAP 和 EPID 认证的区别是什么? 最佳答案 EPID 是一种“标准”证明模式,其中,非常基本:
在英特尔的 SGX 开发者指南中 Pointer Handling ,它提到: When a buffer is being copied, the trusted bridge must avoid
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 2年前关闭。 Improve this questi
我很难让我的自定义异常处理程序工作。 这是飞地代码: #include "Enclave_DivideZero_t.h" #include "sgx_trts_exception.h" #includ
是否可以将大于 EPC 内存的程序加载到飞地?我觉得理论上这是允许的,因为 操作系统可以自由换页 EEXTEND以 256 字节增量测量飞地 所以理论上,似乎可以只使用一页 EPC 内存来加载一个大程
我试图了解 TCS 启用的 SGX 线程与 SDK 提供的不受信任线程之间的区别. 如果我理解正确的话,TCS 允许多个逻辑处理器进入同一个飞地。每个逻辑处理器都有自己的 TCS,因此也有自己的入口点
我正在编写一些必须在 SGX 飞地内外都表现良好的代码。为此,有一些方法可以在运行时确定代码是否在飞地内执行,这将是有用的。不幸的是,在搜索文档后,我一直无法找到一种方法来做到这一点。 TL:博士;我
是否有可能获得许可的开发人员证书,以在生产模式下签署经过安全审查、社区开发的开源 SGX 软件二进制文件,并将其发布在 apt 或 rpm 等开源存储库中? 我刚问过英特尔 SGX 团队,他们说只有经
根据 Mike Hearn 的这篇文章: https://www.corda.net/2017/06/corda-sgx-privacy-update/ 在交易决议过程中,我理解在提议者A和乙方之间的
我正在尝试编写一个简单的 SGX 飞地,它接受一个 bool vector ,但显然 edger8r 创建了 C 代码;所以 edl 代码 enclave{ from "sgx_tstdc.edl
是否可以在某些模拟环境不支持 SGX 的老一代英特尔处理器上进行英特尔 SGX 开发? 我尝试安装正确安装的 SGX SDK 但无法安装 SGX PSW,因为支持 Intel SGX 处理器是它的硬性
我正在尝试使用 OCalls 从 enclave 读取文件的内容。 飞地.edl: untrusted { void ocall_print_string([in, string] c
我正在尝试在从两个不同应用程序创建的两个 enclave 之间执行本地证明。 为 Linux 提供的示例代码 here创建 3 个不同的飞地,然后在它们之间建立安全连接。但是这些飞地都是由同一个应用程
我正在尝试使用以下原型(prototype)做一个函数: void pass_buffer(void** buffer_out, size_t* buffer_out_len, const void*
我正在尝试在 Windows Azure 上使用 SGX,如本文所示 Introduction to Azure Confidential Computation 。但我认为 Azure 不再支持 S
根据 this tutorial ,使用 Visual Studio 在 Windows 中进行开发时,可以在模拟器中开发和运行 SGX 应用程序。尽管有适用于 Linux 的 SDK 版本,但本教程
假设以下场景:我们想要实现一个开源密码管理器,它使用一个中央服务,使不同的客户端(在不同的设备上)能够同步他们的本地数据库。这个服务是在公司运行还是在用户的服务器上都没有关系(对比owncloud的使
我正在尝试将两个整数传递给 SGX 飞地,将它们组合起来,然后将结果返回给应用程序。 但是,除了创建飞地之外,编译代码时似乎什么都没有发生。没有给出错误,它似乎永远不会到达 ECALL 函数。 如果有
如何使用 [out] 在 ecall 中返回一个未知大小的指针?我知道的当前方法要求在调用 ecall 时设置指针的大小,例如: [out, size=len] int *p, size_t len
我是一名优秀的程序员,十分优秀!