mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-26 19:45:37 +01:00
c53dee302d
New module pkcs11_client.c, defining an opaque pk engine whose backend is a PKCS#11 token (cryptographic module using the Cryptoki API). New config option PKCS11_CLIENT_C. Requires pkcs11.h to compile and a pkcs11 library to link. Test setup meant to be used with the SoftHSM v2 library (libsofthsm2). The test setup is not yet integrated with the Mbed TLS test framework. Before running tests involving PKCS#11, you need to run cd tests && scripts/pkcs11-client-test.sh init
171 lines
4.1 KiB
Makefile
171 lines
4.1 KiB
Makefile
|
|
# Also see "include/mbedtls/config.h"
|
|
|
|
CFLAGS ?= -O2
|
|
WARNING_CFLAGS ?= -Wall -W -Wdeclaration-after-statement
|
|
LDFLAGS ?=
|
|
|
|
LOCAL_CFLAGS = $(WARNING_CFLAGS) -I../include -D_FILE_OFFSET_BITS=64
|
|
LOCAL_LDFLAGS =
|
|
|
|
ifdef DEBUG
|
|
LOCAL_CFLAGS += -g3
|
|
endif
|
|
|
|
# MicroBlaze specific options:
|
|
# CFLAGS += -mno-xl-soft-mul -mxl-barrel-shift
|
|
|
|
# To compile on Plan9:
|
|
# CFLAGS += -D_BSD_EXTENSION
|
|
|
|
# if were running on Windows build for Windows
|
|
ifdef WINDOWS
|
|
WINDOWS_BUILD=1
|
|
endif
|
|
|
|
# To compile as a shared library:
|
|
ifdef SHARED
|
|
# all code is position-indep with mingw, avoid warning about useless flag
|
|
ifndef WINDOWS_BUILD
|
|
LOCAL_CFLAGS += -fPIC -fpic
|
|
endif
|
|
endif
|
|
|
|
SOEXT_TLS=so.10
|
|
SOEXT_X509=so.0
|
|
SOEXT_CRYPTO=so.0
|
|
|
|
DLEXT=so
|
|
# OSX shared library extension:
|
|
# DLEXT=dylib
|
|
|
|
# Windows shared library extension:
|
|
ifdef WINDOWS_BUILD
|
|
DLEXT=dll
|
|
endif
|
|
|
|
OBJS_CRYPTO= aes.o aesni.o arc4.o \
|
|
asn1parse.o asn1write.o base64.o \
|
|
bignum.o blowfish.o camellia.o \
|
|
ccm.o cipher.o cipher_wrap.o \
|
|
cmac.o ctr_drbg.o des.o \
|
|
dhm.o ecdh.o ecdsa.o \
|
|
ecjpake.o ecp.o \
|
|
ecp_curves.o entropy.o entropy_poll.o \
|
|
error.o gcm.o havege.o \
|
|
hmac_drbg.o md.o md2.o \
|
|
md4.o md5.o md_wrap.o \
|
|
memory_buffer_alloc.o oid.o \
|
|
padlock.o pem.o pk.o \
|
|
pk_wrap.o pkcs11_client.o \
|
|
pkcs12.o pkcs5.o \
|
|
pkparse.o pkwrite.o platform.o \
|
|
ripemd160.o rsa_internal.o rsa.o \
|
|
sha1.o sha256.o sha512.o \
|
|
threading.o timing.o version.o \
|
|
version_features.o xtea.o
|
|
|
|
OBJS_X509= certs.o pkcs11.o x509.o \
|
|
x509_create.o x509_crl.o x509_crt.o \
|
|
x509_csr.o x509write_crt.o x509write_csr.o
|
|
|
|
OBJS_TLS= debug.o net_sockets.o \
|
|
ssl_cache.o ssl_ciphersuites.o \
|
|
ssl_cli.o ssl_cookie.o \
|
|
ssl_srv.o ssl_ticket.o \
|
|
ssl_tls.o
|
|
|
|
.SILENT:
|
|
|
|
.PHONY: all static shared clean
|
|
|
|
ifndef SHARED
|
|
all: static
|
|
else
|
|
all: shared static
|
|
endif
|
|
|
|
static: libmbedcrypto.a libmbedx509.a libmbedtls.a
|
|
|
|
shared: libmbedcrypto.$(DLEXT) libmbedx509.$(DLEXT) libmbedtls.$(DLEXT)
|
|
|
|
# tls
|
|
libmbedtls.a: $(OBJS_TLS)
|
|
echo " AR $@"
|
|
$(AR) -rc $@ $(OBJS_TLS)
|
|
echo " RL $@"
|
|
$(AR) -s $@
|
|
|
|
libmbedtls.$(SOEXT_TLS): $(OBJS_TLS) libmbedx509.so
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -L. -lmbedcrypto -lmbedx509 $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
|
|
|
|
libmbedtls.so: libmbedtls.$(SOEXT_TLS)
|
|
echo " LN $@ -> $<"
|
|
ln -sf $< $@
|
|
|
|
libmbedtls.dylib: $(OBJS_TLS)
|
|
echo " LD $@"
|
|
$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
|
|
|
|
libmbedtls.dll: $(OBJS_TLS) libmbedx509.dll
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_TLS) -lws2_32 -lwinmm -lgdi32 -L. -lmbedcrypto -lmbedx509 -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
|
|
|
|
# x509
|
|
libmbedx509.a: $(OBJS_X509)
|
|
echo " AR $@"
|
|
$(AR) -rc $@ $(OBJS_X509)
|
|
echo " RL $@"
|
|
$(AR) -s $@
|
|
|
|
libmbedx509.$(SOEXT_X509): $(OBJS_X509) libmbedcrypto.so
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -L. -lmbedcrypto $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
|
|
|
|
libmbedx509.so: libmbedx509.$(SOEXT_X509)
|
|
echo " LN $@ -> $<"
|
|
ln -sf $< $@
|
|
|
|
libmbedx509.dylib: $(OBJS_X509)
|
|
echo " LD $@"
|
|
$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
|
|
|
|
libmbedx509.dll: $(OBJS_X509) libmbedcrypto.dll
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_X509) -lws2_32 -lwinmm -lgdi32 -L. -lmbedcrypto -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
|
|
|
|
# crypto
|
|
libmbedcrypto.a: $(OBJS_CRYPTO)
|
|
echo " AR $@"
|
|
$(AR) -rc $@ $(OBJS_CRYPTO)
|
|
echo " RL $@"
|
|
$(AR) -s $@
|
|
|
|
libmbedcrypto.$(SOEXT_CRYPTO): $(OBJS_CRYPTO)
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_CRYPTO)
|
|
|
|
libmbedcrypto.so: libmbedcrypto.$(SOEXT_CRYPTO)
|
|
echo " LN $@ -> $<"
|
|
ln -sf $< $@
|
|
|
|
libmbedcrypto.dylib: $(OBJS_CRYPTO)
|
|
echo " LD $@"
|
|
$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_CRYPTO)
|
|
|
|
libmbedcrypto.dll: $(OBJS_CRYPTO)
|
|
echo " LD $@"
|
|
$(CC) -shared -Wl,-soname,$@ -Wl,--out-implib,$@.a -o $@ $(OBJS_CRYPTO) -lws2_32 -lwinmm -lgdi32 -static-libgcc $(LOCAL_LDFLAGS) $(LDFLAGS)
|
|
|
|
.c.o:
|
|
echo " CC $<"
|
|
$(CC) $(LOCAL_CFLAGS) $(CFLAGS) -c $<
|
|
|
|
clean:
|
|
ifndef WINDOWS
|
|
rm -f *.o libmbed*
|
|
else
|
|
del /Q /F *.o libmbed*
|
|
endif
|