aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2024-03-28 10:03:44 +0100
committerJ08nY2024-03-28 10:03:51 +0100
commit063b698ed716230b84f81cb88629ab63c0556000 (patch)
treec87b627ffecfefd229aa4ab62a663456d69883d2
parent6d3b0e0d55f44a0da78ee6674abd6b60fd9b556d (diff)
downloadECTester-063b698ed716230b84f81cb88629ab63c0556000.tar.gz
ECTester-063b698ed716230b84f81cb88629ab63c0556000.tar.zst
ECTester-063b698ed716230b84f81cb88629ab63c0556000.zip
-rw-r--r--.github/workflows/build.yml23
-rw-r--r--.gitmodules3
m---------ext/mbedtls0
-rw-r--r--standalone/src/main/java/cz/crcs/ectester/standalone/libs/MbedTLSLib.java2
-rw-r--r--standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/Makefile9
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