* try to import mbedtls and build it * add stubs socket class * some boilterplate, read and write function implemented * more boilterplate / current error in handshake because no CA cert is setup * add something so skip ca verification, can ws curl https://google.com ! * cleanup / close implemented * tweak CMakefiles * typo in include * update readme * disable unittests
		
			
				
	
	
		
			255 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			255 lines
		
	
	
		
			8.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
 | 
						|
# To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS
 | 
						|
 | 
						|
CFLAGS	?= -O2
 | 
						|
WARNING_CFLAGS ?= -Wall -W -Wdeclaration-after-statement
 | 
						|
WARNING_CXXFLAGS ?= -Wall -W
 | 
						|
LDFLAGS ?=
 | 
						|
 | 
						|
LOCAL_CFLAGS = $(WARNING_CFLAGS) -I../include -D_FILE_OFFSET_BITS=64
 | 
						|
LOCAL_CXXFLAGS = $(WARNING_CXXFLAGS) -I../include -D_FILE_OFFSET_BITS=64
 | 
						|
LOCAL_LDFLAGS = -L../library 			\
 | 
						|
		-lmbedcrypto$(SHARED_SUFFIX)
 | 
						|
 | 
						|
ifndef SHARED
 | 
						|
DEP=../library/libmbedcrypto.a
 | 
						|
else
 | 
						|
DEP=../library/libmbedcrypto.$(DLEXT)
 | 
						|
endif
 | 
						|
 | 
						|
ifdef DEBUG
 | 
						|
LOCAL_CFLAGS += -g3
 | 
						|
endif
 | 
						|
 | 
						|
# if we're running on Windows, build for Windows
 | 
						|
ifdef WINDOWS
 | 
						|
WINDOWS_BUILD=1
 | 
						|
endif
 | 
						|
 | 
						|
ifdef WINDOWS_BUILD
 | 
						|
DLEXT=dll
 | 
						|
EXEXT=.exe
 | 
						|
LOCAL_LDFLAGS += -lws2_32
 | 
						|
ifdef SHARED
 | 
						|
SHARED_SUFFIX=.$(DLEXT)
 | 
						|
endif
 | 
						|
else
 | 
						|
DLEXT ?= so
 | 
						|
EXEXT=
 | 
						|
SHARED_SUFFIX=
 | 
						|
endif
 | 
						|
 | 
						|
APPS = \
 | 
						|
	aes/aescrypt2$(EXEXT) \
 | 
						|
	aes/crypt_and_hash$(EXEXT) \
 | 
						|
	hash/hello$(EXEXT) \
 | 
						|
	hash/generic_sum$(EXEXT) \
 | 
						|
	pkey/dh_genprime$(EXEXT) \
 | 
						|
	pkey/ecdh_curve25519$(EXEXT) \
 | 
						|
	pkey/ecdsa$(EXEXT) \
 | 
						|
	pkey/gen_key$(EXEXT) \
 | 
						|
	pkey/key_app$(EXEXT) \
 | 
						|
	pkey/key_app_writer$(EXEXT) \
 | 
						|
	pkey/mpi_demo$(EXEXT) \
 | 
						|
	pkey/pk_decrypt$(EXEXT) \
 | 
						|
	pkey/pk_encrypt$(EXEXT) \
 | 
						|
	pkey/pk_sign$(EXEXT) \
 | 
						|
	pkey/pk_verify$(EXEXT) \
 | 
						|
	pkey/rsa_genkey$(EXEXT) \
 | 
						|
	pkey/rsa_decrypt$(EXEXT) \
 | 
						|
	pkey/rsa_encrypt$(EXEXT) \
 | 
						|
	pkey/rsa_sign$(EXEXT) \
 | 
						|
	pkey/rsa_verify$(EXEXT) \
 | 
						|
	pkey/rsa_sign_pss$(EXEXT) \
 | 
						|
	pkey/rsa_verify_pss$(EXEXT) \
 | 
						|
	psa/crypto_examples$(EXEXT) \
 | 
						|
	psa/key_ladder_demo$(EXEXT) \
 | 
						|
	psa/psa_constant_names$(EXEXT) \
 | 
						|
	random/gen_entropy$(EXEXT) \
 | 
						|
	random/gen_random_havege$(EXEXT) \
 | 
						|
	random/gen_random_ctr_drbg$(EXEXT) \
 | 
						|
	test/benchmark$(EXEXT) \
 | 
						|
	test/selftest$(EXEXT) \
 | 
						|
	test/zeroize$(EXEXT) \
 | 
						|
	test/query_compile_time_config$(EXEXT) \
 | 
						|
	util/pem2der$(EXEXT) \
 | 
						|
	util/strerror$(EXEXT) \
 | 
						|
# End of APPS
 | 
						|
 | 
						|
ifdef TEST_CPP
 | 
						|
APPS += test/cpp_dummy_build$(EXEXT)
 | 
						|
endif
 | 
						|
 | 
						|
EXTRA_GENERATED =
 | 
						|
 | 
						|
.SILENT:
 | 
						|
 | 
						|
.PHONY: all clean list
 | 
						|
 | 
						|
all: $(APPS)
 | 
						|
 | 
						|
$(DEP):
 | 
						|
	$(MAKE) -C ../library
 | 
						|
 | 
						|
ifdef WINDOWS
 | 
						|
EXTRA_GENERATED += psa\psa_constant_names_generated.c
 | 
						|
else
 | 
						|
EXTRA_GENERATED += psa/psa_constant_names_generated.c
 | 
						|
endif
 | 
						|
 | 
						|
psa/psa_constant_names$(EXEXT): psa/psa_constant_names_generated.c
 | 
						|
psa/psa_constant_names_generated.c: ../scripts/generate_psa_constants.py ../include/psa/crypto_values.h ../include/psa/crypto_extra.h
 | 
						|
	../scripts/generate_psa_constants.py
 | 
						|
 | 
						|
aes/aescrypt2$(EXEXT): aes/aescrypt2.c $(DEP)
 | 
						|
	echo "  CC    aes/aescrypt2.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/aescrypt2.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
aes/crypt_and_hash$(EXEXT): aes/crypt_and_hash.c $(DEP)
 | 
						|
	echo "  CC    aes/crypt_and_hash.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) aes/crypt_and_hash.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
hash/hello$(EXEXT): hash/hello.c $(DEP)
 | 
						|
	echo "  CC    hash/hello.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/hello.c       $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
hash/generic_sum$(EXEXT): hash/generic_sum.c $(DEP)
 | 
						|
	echo "  CC    hash/generic_sum.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) hash/generic_sum.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/dh_genprime$(EXEXT): pkey/dh_genprime.c $(DEP)
 | 
						|
	echo "  CC    pkey/dh_genprime.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/dh_genprime.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/ecdh_curve25519$(EXEXT): pkey/ecdh_curve25519.c $(DEP)
 | 
						|
	echo "  CC    pkey/ecdh_curve25519.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdh_curve25519.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/ecdsa$(EXEXT): pkey/ecdsa.c $(DEP)
 | 
						|
	echo "  CC    pkey/ecdsa.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/ecdsa.c       $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/gen_key$(EXEXT): pkey/gen_key.c $(DEP)
 | 
						|
	echo "  CC    pkey/gen_key.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/gen_key.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/key_app$(EXEXT): pkey/key_app.c $(DEP)
 | 
						|
	echo "  CC    pkey/key_app.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/key_app_writer$(EXEXT): pkey/key_app_writer.c $(DEP)
 | 
						|
	echo "  CC    pkey/key_app_writer.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/key_app_writer.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/mpi_demo$(EXEXT): pkey/mpi_demo.c $(DEP)
 | 
						|
	echo "  CC    pkey/mpi_demo.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/mpi_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/pk_decrypt$(EXEXT): pkey/pk_decrypt.c $(DEP)
 | 
						|
	echo "  CC    pkey/pk_decrypt.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_decrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/pk_encrypt$(EXEXT): pkey/pk_encrypt.c $(DEP)
 | 
						|
	echo "  CC    pkey/pk_encrypt.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_encrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/pk_sign$(EXEXT): pkey/pk_sign.c $(DEP)
 | 
						|
	echo "  CC    pkey/pk_sign.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_sign.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/pk_verify$(EXEXT): pkey/pk_verify.c $(DEP)
 | 
						|
	echo "  CC    pkey/pk_verify.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/pk_verify.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/rsa_genkey$(EXEXT): pkey/rsa_genkey.c $(DEP)
 | 
						|
	echo "  CC    pkey/rsa_genkey.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_genkey.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/rsa_sign$(EXEXT): pkey/rsa_sign.c $(DEP)
 | 
						|
	echo "  CC    pkey/rsa_sign.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/rsa_verify$(EXEXT): pkey/rsa_verify.c $(DEP)
 | 
						|
	echo "  CC    pkey/rsa_verify.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/rsa_sign_pss$(EXEXT): pkey/rsa_sign_pss.c $(DEP)
 | 
						|
	echo "  CC    pkey/rsa_sign_pss.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_sign_pss.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/rsa_verify_pss$(EXEXT): pkey/rsa_verify_pss.c $(DEP)
 | 
						|
	echo "  CC    pkey/rsa_verify_pss.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_verify_pss.c  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/rsa_decrypt$(EXEXT): pkey/rsa_decrypt.c $(DEP)
 | 
						|
	echo "  CC    pkey/rsa_decrypt.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_decrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
pkey/rsa_encrypt$(EXEXT): pkey/rsa_encrypt.c $(DEP)
 | 
						|
	echo "  CC    pkey/rsa_encrypt.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) pkey/rsa_encrypt.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
psa/key_ladder_demo$(EXEXT): psa/key_ladder_demo.c $(DEP)
 | 
						|
	echo "  CC    psa/key_ladder_demo.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/key_ladder_demo.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
psa/psa_constant_names$(EXEXT): psa/psa_constant_names.c $(DEP)
 | 
						|
	echo "  CC    psa/psa_constant_names.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/psa_constant_names.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
random/gen_entropy$(EXEXT): random/gen_entropy.c $(DEP)
 | 
						|
	echo "  CC    random/gen_entropy.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_entropy.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
random/gen_random_havege$(EXEXT): random/gen_random_havege.c $(DEP)
 | 
						|
	echo "  CC    random/gen_random_havege.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_havege.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
random/gen_random_ctr_drbg$(EXEXT): random/gen_random_ctr_drbg.c $(DEP)
 | 
						|
	echo "  CC    random/gen_random_ctr_drbg.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) random/gen_random_ctr_drbg.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
test/benchmark$(EXEXT): test/benchmark.c $(DEP)
 | 
						|
	echo "  CC    test/benchmark.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/benchmark.c   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
test/cpp_dummy_build$(EXEXT): test/cpp_dummy_build.cpp $(DEP)
 | 
						|
	echo "  CXX   test/cpp_dummy_build.cpp"
 | 
						|
	$(CXX) $(LOCAL_CXXFLAGS) $(CXXFLAGS) test/cpp_dummy_build.cpp   $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
test/selftest$(EXEXT): test/selftest.c $(DEP)
 | 
						|
	echo "  CC    test/selftest.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/selftest.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
test/zeroize$(EXEXT): test/zeroize.c $(DEP)
 | 
						|
	echo "  CC    test/zeroize.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/zeroize.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
test/query_compile_time_config$(EXEXT): test/query_compile_time_config.c test/query_config.c $(DEP)
 | 
						|
	echo "  CC    test/query_compile_time_config.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) test/query_compile_time_config.c test/query_config.c $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
util/pem2der$(EXEXT): util/pem2der.c $(DEP)
 | 
						|
	echo "  CC    util/pem2der.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/pem2der.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
util/strerror$(EXEXT): util/strerror.c $(DEP)
 | 
						|
	echo "  CC    util/strerror.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) util/strerror.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
psa/crypto_examples$(EXEXT): psa/crypto_examples.c $(DEP)
 | 
						|
	echo "  CC    psa/crypto_examples.c"
 | 
						|
	$(CC) $(LOCAL_CFLAGS) $(CFLAGS) psa/crypto_examples.c    $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@
 | 
						|
 | 
						|
clean:
 | 
						|
ifndef WINDOWS
 | 
						|
	rm -f $(APPS) $(EXTRA_GENERATED)
 | 
						|
else
 | 
						|
	if exist *.o del /S /Q /F *.o
 | 
						|
	if exist *.exe del /S /Q /F *.exe
 | 
						|
	if exist $(EXTRA_GENERATED) del /S /Q /F $(EXTRA_GENERATED)
 | 
						|
endif
 | 
						|
 | 
						|
list:
 | 
						|
	echo $(APPS)
 |