2016-06-30 7 views
2

現在、Intel SGXアプリケーションを開発中です。そして、私はその区域でOpenSSLライブラリを使用する必要があります。しかし、私がエンクレーブを構築すると、何回もエラーが表示されます。 彼らは、次のようになります。OpenSSLをIntel SGX Enclaveで使用する

Error 17 error C2061: syntax error : identifier 'FILE' C:\OpenSSL-Win32\include\openssl\asn1.h 994 1 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" 

何か助けていただければ幸いです。

+0

(1)OpenSSLを使用していない場合は、 'no-stdio'で設定するか、 (2)Windows上で 'FILE'(またはLinuxの場合は' ')を' 'にしてください。 – jww

答えて

2

同じ目的で、mbedtlsをSGX環境に移植しました。移植版はGitHubにあります。お気軽にチェックアウトしてください。

1

Intelの信頼できるOpenSSLライブラリを使用していますか?サンプルコード "X509 project"は、信頼できるOpenSSL(topenssl)を孤立した領域で使用する方法を示しています。 OpenSSLの別のバージョンを使用する場合は、インテルの信頼できる標準C/C++ライブラリを使用してビルドし、 "エンクレーブライブラリ"を作成し、それをエンクレーブにリンクする必要があります。あなたは、信頼できる静的ライブラリとのみリンクすることができるいくつかのランダムライブラリとエンクレーブをリンクすることはできません。

0

また、あなたは何をしたいやっているように思われ、TaLoSをチェックアウトする場合があります:

タロスは(OpenSSLの/ LibreSSLインターフェイスを持つ)既存のアプリケーションを安全に内部にそのTLS接続を終了することを可能にするTLSライブラリですインテルSGXエンクレーブ。コードはGitHubにあります。

また、アーキテクチャとパフォーマンスの結果に関する詳細を含むtechnical reportがあります。

関連する問題