aboutsummaryrefslogtreecommitdiff
path: root/standalone/src/main/java/cz/crcs/ectester
diff options
context:
space:
mode:
authorJ08nY2024-08-19 20:39:21 +0200
committerJ08nY2024-08-19 20:39:21 +0200
commit2a9e5944bd3f444b4866bdf5830d444020799c18 (patch)
tree09fed39ba09fea9770dc7825636b157d71702b20 /standalone/src/main/java/cz/crcs/ectester
parentd8965fae9231d13690d736bc090be15e95ee5aef (diff)
downloadECTester-2a9e5944bd3f444b4866bdf5830d444020799c18.tar.gz
ECTester-2a9e5944bd3f444b4866bdf5830d444020799c18.tar.zst
ECTester-2a9e5944bd3f444b4866bdf5830d444020799c18.zip
Allow for no-preload option and correctly handle PRNG support.
Diffstat (limited to 'standalone/src/main/java/cz/crcs/ectester')
-rw-r--r--standalone/src/main/java/cz/crcs/ectester/standalone/ECTesterStandalone.java9
-rw-r--r--standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java5
-rw-r--r--standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java8
-rw-r--r--standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java5
-rw-r--r--standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java3
5 files changed, 12 insertions, 18 deletions
diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/ECTesterStandalone.java b/standalone/src/main/java/cz/crcs/ectester/standalone/ECTesterStandalone.java
index 1b56ec6..603a301 100644
--- a/standalone/src/main/java/cz/crcs/ectester/standalone/ECTesterStandalone.java
+++ b/standalone/src/main/java/cz/crcs/ectester/standalone/ECTesterStandalone.java
@@ -107,6 +107,7 @@ public class ECTesterStandalone {
FileUtil.write(LIB_RESOURCE_DIR + "lib_timing.so", reqs.resolve("lib_timing.so"));
FileUtil.write(LIB_RESOURCE_DIR + "lib_preload.so", reqs.resolve("lib_preload.so"));
FileUtil.write(LIB_RESOURCE_DIR + "lib_prng.so", reqs.resolve("lib_prng.so"));
+ FileUtil.write(LIB_RESOURCE_DIR + "lib_prng_dummy.so", reqs.resolve("lib_prng_dummy.so"));
FileUtil.write(LIB_RESOURCE_DIR + "lib_csignals.so", reqs.resolve("lib_csignals.so"));
FileUtil.write(LIB_RESOURCE_DIR + "lib_cppsignals.so", reqs.resolve("lib_cppsignals.so"));
@@ -146,7 +147,13 @@ public class ECTesterStandalone {
System.exit(result);
} else {
// Load the utility libs.
- System.load(reqs.resolve("lib_prng.so").toString());
+ if (cli.hasOption("no-preload")) {
+ System.err.println("Loading dummy");
+ System.load(reqs.resolve("lib_prng_dummy.so").toString());
+ } else {
+ System.err.println("Loading right");
+ System.load(reqs.resolve("lib_prng.so").toString());
+ }
System.load(reqs.resolve("lib_timing.so").toString());
System.load(reqs.resolve("lib_csignals.so").toString());
System.load(reqs.resolve("lib_cppsignals.so").toString());
diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java
index 06e6b4a..4f253e6 100644
--- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java
+++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/BoringsslLib.java
@@ -17,9 +17,4 @@ public class BoringsslLib extends NativeECLibrary {
@Override
public native Set<String> getCurves();
- @Override
- public boolean supportsDeterministicPRNG() {
- // This is provided by the native preload that hooks all randomness sources.
- return true;
- }
}
diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java
index 3647ab9..49cdc7c 100644
--- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java
+++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/GcryptLib.java
@@ -9,7 +9,7 @@ import java.util.Set;
public class GcryptLib extends NativeECLibrary {
public GcryptLib() {
- super("libgcrypt","gcrypt_provider");
+ super("libgcrypt", "gcrypt_provider");
}
@Override
@@ -17,10 +17,4 @@ public class GcryptLib extends NativeECLibrary {
@Override
public native Set<String> getCurves();
-
- @Override
- public boolean supportsDeterministicPRNG() {
- // This is provided by the native preload that hooks all randomness sources.
- return true;
- }
}
diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java
index e53399c..b06bfaf 100644
--- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java
+++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/LibresslLib.java
@@ -17,9 +17,4 @@ public class LibresslLib extends NativeECLibrary {
@Override
public native Set<String> getCurves();
- @Override
- public boolean supportsDeterministicPRNG() {
- // This is provided by the native preload that hooks all randomness sources.
- return true;
- }
}
diff --git a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java
index 210a6e9..82ec115 100644
--- a/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java
+++ b/standalone/src/main/java/cz/crcs/ectester/standalone/libs/NativeECLibrary.java
@@ -75,6 +75,9 @@ public abstract class NativeECLibrary extends ProviderECLibrary {
public native long getLastNativeTiming();
@Override
+ public native boolean supportsDeterministicPRNG();
+
+ @Override
public native boolean setupDeterministicPRNG(byte[] seed);
abstract Provider createProvider();