From effb7512041380539a318530db1029b143d5ec93 Mon Sep 17 00:00:00 2001 From: kaleb-himes Date: Thu, 4 Jan 2018 10:38:56 -0700 Subject: [PATCH 1/4] Add build scripts for default SGX build and improve cleanup --- IDE/LINUX-SGX/build.sh | 8 ++++++++ IDE/LINUX-SGX/clean.sh | 3 +++ IDE/LINUX-SGX/sgx_t_static.mk | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100755 IDE/LINUX-SGX/build.sh create mode 100755 IDE/LINUX-SGX/clean.sh diff --git a/IDE/LINUX-SGX/build.sh b/IDE/LINUX-SGX/build.sh new file mode 100755 index 000000000..a5be290cb --- /dev/null +++ b/IDE/LINUX-SGX/build.sh @@ -0,0 +1,8 @@ +#!/bin/sh + + +CFLAGS="-DDEBUG_WOLFSSL" +export CFLAGS=${CFLAGS} + +make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 + diff --git a/IDE/LINUX-SGX/clean.sh b/IDE/LINUX-SGX/clean.sh new file mode 100755 index 000000000..150f46a59 --- /dev/null +++ b/IDE/LINUX-SGX/clean.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +make -f sgx_t_static.mk clean diff --git a/IDE/LINUX-SGX/sgx_t_static.mk b/IDE/LINUX-SGX/sgx_t_static.mk index c7ee276c9..674777c1f 100644 --- a/IDE/LINUX-SGX/sgx_t_static.mk +++ b/IDE/LINUX-SGX/sgx_t_static.mk @@ -142,4 +142,4 @@ libwolfssl.sgx.static.lib.a: $(Wolfssl_C_Objects) @echo "LINK => $@" clean: - @rm -f wolfcrypt.* static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects) + @rm -f ../../wolfcrypt/benchmark/*.o ../../wolfcrypt/test/*.o static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects) From 30f8f7d409f38c66198b50e195e83d516a3a1ad5 Mon Sep 17 00:00:00 2001 From: Kaleb Himes Date: Tue, 9 Jan 2018 10:48:13 -0700 Subject: [PATCH 2/4] Make clean rules more portable (If this directory were ever to move using ../../ is insufficient. Use the WOLFSS_ROOT variable instead. --- IDE/LINUX-SGX/sgx_t_static.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/IDE/LINUX-SGX/sgx_t_static.mk b/IDE/LINUX-SGX/sgx_t_static.mk index 674777c1f..8a2e4b2df 100644 --- a/IDE/LINUX-SGX/sgx_t_static.mk +++ b/IDE/LINUX-SGX/sgx_t_static.mk @@ -142,4 +142,4 @@ libwolfssl.sgx.static.lib.a: $(Wolfssl_C_Objects) @echo "LINK => $@" clean: - @rm -f ../../wolfcrypt/benchmark/*.o ../../wolfcrypt/test/*.o static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects) + @rm -f $(WOLFSSL_ROOT)/wolfcrypt/benchmark/*.o $(WOLFSSL_ROOT)/wolfcrypt/test/*.o static_trusted/wolfssl_t.* libwolfssl.sgx.static.lib.a $(Wolfssl_C_Objects) From 03fe54dcc455c8afe3086985b6623a4a72422c62 Mon Sep 17 00:00:00 2001 From: kaleb-himes Date: Tue, 30 Jan 2018 14:30:44 -0700 Subject: [PATCH 3/4] Update following review --- IDE/LINUX-SGX/README.md | 7 +++++++ IDE/LINUX-SGX/build.sh | 5 +++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/IDE/LINUX-SGX/README.md b/IDE/LINUX-SGX/README.md index 68c0f81ea..8d3abc797 100644 --- a/IDE/LINUX-SGX/README.md +++ b/IDE/LINUX-SGX/README.md @@ -10,6 +10,10 @@ To create the static library, simply call make: `make -f sgx_t_static.mk all` +To clean the static library and compiled objects use the provided clean script: + +`clean.sh` + This will create a local static library, libwolfssl.sgx.static.lib.a, that can be linked with SGX enclaves to access wolfSSL APIs using SGX hardware. ### Customization: @@ -20,6 +24,9 @@ This will create a local static library, libwolfssl.sgx.static.lib.a, that can b For example, to enable all three: `make -f sgx_t_static.mk CFLAGS=-DDEBUG_WOLFSSL HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1` +NOTE: This more customized step has been provided for easier execution in the + script `build.sh` + ### Limitations: Single Threaded (multiple threaded applications have not been tested) AES-NI use with SGX has not been added in yet diff --git a/IDE/LINUX-SGX/build.sh b/IDE/LINUX-SGX/build.sh index a5be290cb..23bbc8699 100755 --- a/IDE/LINUX-SGX/build.sh +++ b/IDE/LINUX-SGX/build.sh @@ -1,8 +1,9 @@ #!/bin/sh -CFLAGS="-DDEBUG_WOLFSSL" -export CFLAGS=${CFLAGS} +CFLAGS_NEW="-DDEBUG_WOLFSSL" +export CFLAGS="${CFLAGS} ${CFLAGS_NEW}" +echo ${CFLAGS} make -f sgx_t_static.mk HAVE_WOLFSSL_BENCHMARK=1 HAVE_WOLFSSL_TEST=1 From 1af85cf9c4037a3df670bb25a96e242a9df9d157 Mon Sep 17 00:00:00 2001 From: kaleb-himes Date: Tue, 30 Jan 2018 15:39:20 -0700 Subject: [PATCH 4/4] Update include.am --- IDE/LINUX-SGX/include.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/IDE/LINUX-SGX/include.am b/IDE/LINUX-SGX/include.am index 0298c0117..06f950436 100644 --- a/IDE/LINUX-SGX/include.am +++ b/IDE/LINUX-SGX/include.am @@ -4,3 +4,5 @@ EXTRA_DIST+= IDE/LINUX-SGX/README.md EXTRA_DIST+= IDE/LINUX-SGX/sgx_t_static.mk +EXTRA_DIST+= IDE/LINUX-SGX/build.sh +EXTRA_DIST+= IDE/LINUX-SGX/clean.sh