2017-01-19 7 views
0

SGXの新機能で、簡単なものから始めたいと思っています。幸いにも、私はthis very basic tutorialを見つけました。残念ながら、それは単純なので、私はそれを働かせることはできません。コードは実行されますが、出力にエラーがあります。問題SGXエンクレーブの作成と実行

[sgx_create_enclavew ..\urts\win\urts.cpp:195] Couldn't open file with CreateFile() 

error 0x200f, failed to create enclave. 

Buffertests: 
Buffer before change: Hello World! 
Buffer after change: Hello World! 

Stringtests: 
Returned Secret: 
Saved Secret: My secret string 
Load Secret: 

Integertests: 
secretIntValue first load: 0 
saved a 1337 to the enclave. 
secretIntValue second load after 1337 was saved: 0 

error, failed to destroy enclave. 

image of output

チュートリアルは言う:

エラーが表示された場合はSGXは飛び地ファイルを見つけることができませんでした。ソリューションは、encl_test_save.signed.dllを、app_test_save.exeがある同じフォルダに移動することです。

私は試しましたが、問題は解決しませんでした。

私が使用して飛び地を作成しよう:

sgx_create_enclave(ENCLAVE_FILE, SGX_DEBUG_FLAG, &token, &updated, &eid, NULL); 

それが返されます:SGX_ERROR_ENCLAVE_FILE_ACCESS

問題は、Visual Studioの異なるバージョンを使用しての結果である可能性があり?

答えて

0

免責事項:私は別の設定(Ubuntu、eclipse)で同じエラーが発生しましたが、これがどの程度助けになるかわかりません。 initialize_enclave()

absolutePathは、実行可能ファイルがどこにあるの絶対パスにする必要がある場合は、chdir(absolutePath)コマンドを実行する必要がある、(順番にsgx_create_enclave()を呼び出す)と呼ばれています。

私が使用したパスが間違っていたためにエラーが発生しました。

0

ありがとう、私はそれを解決しました。私はenclave_test_save.signed.dllを.exeファイルではなく.exeファイルでルートフォルダに配置しなければならなかったことが分かります。

0

コマンドプロンプトまたはIDEからアプリケーションを実行しましたか? IDEを使用している場合は、プロジェクトプロパティ - >構成プロパティ - >デバッグ - >作業ディレクトリのデバッグプロパティーを$(OutDir)から$(ProjecttDir)に変更する必要があります(エンクレーブとアプリケーションの両方) R)SGXデバッガ

関連する問題