diff options
| -rw-r--r-- | .github/workflows/build.yml | 23 | ||||
| -rw-r--r-- | .gitmodules | 3 | ||||
| m--------- | ext/mbedtls | 0 | ||||
| -rw-r--r-- | standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java | 2 | ||||
| -rw-r--r-- | standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile | 9 |
5 files changed, 27 insertions, 10 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d710da5..8274f51 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -110,22 +110,24 @@ jobs: - name: Setup libraries run: | sudo apt update - sudo apt install libmbedtls-dev libtomcrypt-dev libtommath-dev libssl-dev libcrypto++-dev libgcrypt20-dev nettle-dev libbotan-2-dev libwolfssl-dev nasm - echo "BORINGSSL_VERSION=$(git submodule status ext/boringssl | cut -f2 -d' ')" >> $GITHUB_ENV - echo "LIBRESSL_VERSION=$(git submodule status ext/libressl | cut -f2 -d' ')" >> $GITHUB_ENV - echo "IPPCP_VERSION=$(git submodule status ext/ipp-crypto | cut -f2 -d' ')" >> $GITHUB_ENV - echo "WOLFCRYPT_VERSION=$(git submodule status ext/wolfcrypt-jni | cut -f2 -d' ')" >> $GITHUB_ENV + sudo apt install libtomcrypt-dev libtommath-dev libssl-dev libcrypto++-dev libgcrypt20-dev nettle-dev libbotan-2-dev libwolfssl-dev nasm + echo "BORINGSSL_VERSION=$(git submodule status ext/boringssl | cut -f2 -d' ' | cut -c1-10)" >> $GITHUB_ENV + echo "LIBRESSL_VERSION=$(git submodule status ext/libressl | cut -f2 -d' ' | cut -c1-10)" >> $GITHUB_ENV + echo "IPPCP_VERSION=$(git submodule status ext/ipp-crypto | cut -f2 -d' ' | cut -c1-10)" >> $GITHUB_ENV + echo "MBEDTLS_VERSION=$(git submodule status ext/mbedtls | cut -f2 -d' ' | cut -c1-10)" >> $GITHUB_ENV + echo "WOLFCRYPT_VERSION=$(git submodule status ext/wolfcrypt-jni | cut -f2 -d' ' | cut -c1-10)" >> $GITHUB_ENV echo "WOLFSSL_VERSION=$(dpkg -s libwolfssl-dev | grep 'Version' | cut -f2 -d' ')" >> $GITHUB_ENV - name: Cache libs uses: actions/cache@v4 id: cache-libs with: - key: libs-${{ env.BORINGSSL_VERSION }}-${{ env.LIBRESSL_VERSION }}-${{ env.IPPCP_VERSION }}-${{ env.WOLFCRYPT_VERSION }}-${{ env.WOLFSSL_VERSION }}-${{ matrix.java }} + key: libs-${{ env.BORINGSSL_VERSION }}-${{ env.LIBRESSL_VERSION }}-${{ env.LIBRESSL_VERSION }}-${{ env.IPPCP_VERSION }}-${{ env.WOLFCRYPT_VERSION }}-${{ env.WOLFSSL_VERSION }}-${{ matrix.java }} path: | ext/boringssl/build/ ext/libressl/build/ ext/ipp-crypto/build/ + ext/mbedtls/build/ ext/wolfcrypt-jni/lib/wolfcrypt-jni.jar ext/wolfcrypt-jni/lib/libwolfcryptjni.so @@ -159,6 +161,15 @@ jobs: make -j4 -f makefile.linux env JUNIT_HOME=junit/ ant build-jce-release cd ../../.. + # ------------ Build mbedTLS ------------ + cd ext/mbedtls + python -m venv virt + . virt/bin/activate + pip install -r scripts/basic.requirements.txt + cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On -Bbuild -G "Unix Makefiles" + cd build + make -j4 + cd ../../.. - name: Build standalone run: | diff --git a/.gitmodules b/.gitmodules index 54819aa..7fea751 100644 --- a/.gitmodules +++ b/.gitmodules @@ -19,3 +19,6 @@ [submodule "ext/wolfcrypt-jni"] path = ext/wolfcrypt-jni url = https://github.com/wolfSSL/wolfcrypt-jni +[submodule "ext/mbedtls"] + path = ext/mbedtls + url = https://github.com/Mbed-TLS/mbedtls.git diff --git a/ext/mbedtls b/ext/mbedtls new file mode 160000 +Subproject 611f899c0c9d397baedfaec34ea0861ad254399 diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java index ace10d7..5c0ad12 100644 --- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java +++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java @@ -9,7 +9,7 @@ import java.util.Set; public class MbedTLSLib extends NativeECLibrary { public MbedTLSLib() { - super("mbedtls_provider", "mbedcrypto"); + super("mbedtls_provider", "lib_mbedtls.so"); } @Override diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile index be7449c..08c6374 100644 --- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile +++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -142,11 +142,14 @@ cryptopp.o: cryptopp.cpp # mbedTLS shim mbedtls: mbedtls_provider.so -mbedtls_provider.so: mbedtls.o c_utils.o | lib_timing.so - $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -lmbedcrypto -l:lib_timing.so +lib_mbedtls.so: + cp $(PROJECT_ROOT_PATH)/ext/mbedtls/build/library/libmbedcrypto.so lib_mbedtls.so + +mbedtls_provider.so: mbedtls.o c_utils.o | lib_timing.so lib_mbedtls.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_mbedtls.so -l:lib_timing.so mbedtls.o: mbedtls.c - $(CC) $(CFLAGS) -c $< + $(CC) -I$(PROJECT_ROOT_PATH)/ext/mbedtls/include/ $(CFLAGS) -c $< # Intel Performance Primitives crypto shim |
