Skip to content

yyd106/gdpr-sgx

 
 

Repository files navigation

gdpr-sgx

Abbreviation

  • root_dir: gdpr-sgx root directory

Build environment

Install prerequisites

  1. cd root_dir
  2. run command ./scripts/install_deps.sh -r -s to install dependencies
  3. note: in Step 2, -r means install remote attestation dependencies while -s does for SGX SDK

Build remote attestation

  1. cd root_dir
  2. use ./scripts/build_targets.sh [options] to build targets
  3. in Step 2, there are some options for the command
  • -r build remote attestation targets
  • -m if you provide -r option the default value for -m is HW which builds targets in Hardware mode otherwise you can use SIM to build in simulation mode
  • -s build SGX SDK
  • -t build simple remote attestation and SGX SDK(if -r and -s are provided)
  • -j build enclave client .so library file. The built targets will be moved to root_dir/target
  • -h show usage information

Web Server

connect EnclaveBridge in webserver to cpp library

  1. in EnclaveCPP, build libEnclaveBridge.so
  2. run $ export LD_LIBRARY_PATH=pwd:$LD_LIBRARY_PATH
  3. start webserver after 1&2 are done

compile and deploy

  1. $ cd comsgxtrial
  2. $ mvn package
  3. $ ls target/ com.sgxtrial.war
  4. $ cp com.sgxtrial.war $TOMCAT/webapps/
  5. $ restart tomcat, then visit http://localhost:8080/com.sgxtrial/webclient.html

javascript files

java files

  • EnclaveThreadManager is a file to init EnclaveBridge
  • WebSocketServer.java is a file to handle websocket connections from browser.
    • OnMessages is called every time when new byte[] incoming, it should pass byte[] directly to enclave, and gets byte[] from enclave and send back to javascript.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 58.6%
  • C 29.5%
  • Makefile 4.7%
  • Shell 2.3%
  • Java 0.9%
  • Perl 0.8%
  • Other 3.2%