我目前正在开发英特尔SGX应用程序。我需要在enclave中使用OpenSSL库。然而,当我构建enclave时,出现了大量的错误。它们看起来像这样:
Error 17 error C2061: syntax error : identifier 'FILE' C:\OpenSSL-Win32\include\openssl\asn1.h 994 1 Enclave
我不确定我是否正确配置了enclave。
VC++ Directories --> Include Directories "C://OpenSSL-Win32/include"
Library Directories "C://OpenSSL-Win32/lib"
C/C++ --> Additional Include Directories "(some SGX default); C://OpenSSL-Win32/include"
Linker --> General --> Additional Library Directories "C://OpenSSL-Win32/lib"
Input --> Additional Dependencies: "libeay32.lib; ssleay32.lib"
如有任何帮助,我们将不胜感激。
发布于 2016-07-15 02:12:17
您是否在使用英特尔trusted OpenSSL库?这里有一个示例代码"X509项目“,它展示了如何在enclaves中使用受信任的OpenSSL (topenssl)。如果您要使用其他版本的OpenSSL,则应使用英特尔可信标准C/C++库构建它,并创建一个"enclave库“,然后将其链接到enclave。您不能将enclave与一些随机库链接,只能将其与可信的静态库链接。
发布于 2017-05-07 21:09:07
你可能还想看看TaLoS,它似乎正在做你想做的事情:
TaLoS是一个TLS库,它允许现有的应用程序(使用OpenSSL/LibreSSL接口)在英特尔SGX enclave内安全地终止它们的TLS连接。代码可以在GitHub上找到。
还有一个technical report,其中包含有关体系结构和性能结果的详细信息。
https://stackoverflow.com/questions/38114856
复制