Solution to delegate TLS1.3 private key operation to TEE
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

52 rivejä
1.9 KiB

  1. # Configurables
  2. MK_FILE_PATH = $(lastword $(MAKEFILE_LIST))
  3. PRJ_DIR = $(abspath $(dir $(MK_FILE_PATH))/../..)
  4. # Configurables end
  5. TA_DEV_KIT_DIR = $(PRJ_DIR)/optee_os/out/arm/export-ta_arm64
  6. TEEC_EXPORT = $(PRJ_DIR)/optee_client/public
  7. HOST_CROSS_COMPILE = $(PRJ_DIR)/toolchains/aarch64/bin/aarch64-linux-gnu-
  8. TA_CROSS_COMPILE = ${HOST_CROSS_COMPILE}
  9. CC = $(PRJ_DIR)/toolchains/aarch64/bin/aarch64-linux-gnu-gcc
  10. CXX = $(PRJ_DIR)/toolchains/aarch64/bin/aarch64-linux-gnu-c++
  11. BSSL_DIR = -I$(PRJ_DIR)/projects/bssl/src/include
  12. BSSL_CRYPTO_DIR = $(PRJ_DIR)/projects/bssl/src/build/crypto
  13. BSSL_SSL_DIR = $(PRJ_DIR)/projects/bssl/src/build/ssl
  14. CXXFLAGS = -g -std=c++11
  15. CXXFLAGS += -I$(PRJ_DIR)/optee_client/public
  16. CXXFLAGS += -I$(PRJ_DIR)/projects/delegator/src/ta/include
  17. CXXFLAGS += $(BSSL_DIR) -L$(BSSL_SSL_DIR) -L$(BSSL_CRYPTO_DIR) -lssl -lcrypto
  18. LDFLAGS += -lpthread
  19. LDFLAGS += -L$(PRJ_DIR)/out-br/build/optee_client-1.0/libteec -lteec
  20. OUT_DIR = out
  21. TEE_SHARED_DIR = /tmp/tee_share
  22. all: server admin_cli ta
  23. cp -rf etc $(OUT_DIR)/
  24. cp -rf $(PRJ_DIR)/projects/bssl/src/build/tool/bssl $(OUT_DIR)
  25. cp -rf $(OUT_DIR) $(TEE_SHARED_DIR)/
  26. admin_cli:
  27. #$(MAKE) -C admin_cli CROSS_COMPILE="$(HOST_CROSS_COMPILE)" PRJ_DIR="$(PRJ_DIR)" --no-builtin-variables
  28. mkdir -p $(OUT_DIR)/admin_cli
  29. $(CC) -o $(OUT_DIR)/admin_cli/main.o -c src/admin_cli/main.c $(CXXFLAGS)
  30. $(CC) -o $(OUT_DIR)/admin_cli/admin_cli $(OUT_DIR)/admin_cli/main.o $(CXXFLAGS) $(LDFLAGS)
  31. server:
  32. mkdir -p $(OUT_DIR)/server
  33. $(CXX) -o $(OUT_DIR)/server/server.o -c src/server/server.c $(CXXFLAGS)
  34. $(CXX) -o $(OUT_DIR)/server/server $(OUT_DIR)/server/server.o $(CXXFLAGS) $(LDFLAGS)
  35. clean:
  36. rm -rf out
  37. $(MAKE) -C src/ta clean
  38. ta:
  39. mkdir -p $(OUT_DIR)/ta
  40. $(MAKE) -C src/ta CROSS_COMPILE="$(TA_CROSS_COMPILE)" PRJ_DIR="$(PRJ_DIR)"
  41. cp -rf src/ta/8aaaf200-2450-11e4-6969-696969696969.ta $(OUT_DIR)/ta/