If you need to set up SGX on another server, follow the directions here (you need to install both the driver and the SDK). I found it worked basically perfectly on Ubuntu 16.04 but not on 17.10.
- https://github.com/intel/linux-sgx-driver/tree/sgx2 (driver)
- https://github.com/intel/linux-sgx (sdk)
The forwarding module is
ebc_enclave_messaging (I made this a submodule of this repo, but it's actually in a separate repo on gitlab). To run the non-SGX version (in
ebc_messaging_no_sgx), install the
openssl library (and modify the makefile paths appropriately). Other than that, you just need some version of gcc supporting C++11.
make clean && make fails in either
ebc_enclave_messaging or the non-SGX version
ebc_messaging_no_sgx, make sure that the Openssl libraries are configured correctly. For the SGX version, run
sgx_openssl_setup.sh && make depend && make in the