diff options
Diffstat (limited to 'src/cz/crcs/ectester/standalone/libs/jni')
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/.gitignore | 5 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/Makefile | 83 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/boringssl.c | 12 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/botan.cpp | 14 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/c_timing.c | 174 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/c_timing.h | 19 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp | 12 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/gcrypt.c | 12 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/ippcp.c | 14 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/matrixssl.c | 13 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/mbedtls.c | 12 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/mscng.c | 12 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/native.h | 284 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/openssl.c | 12 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c | 12 |
15 files changed, 276 insertions, 414 deletions
diff --git a/src/cz/crcs/ectester/standalone/libs/jni/.gitignore b/src/cz/crcs/ectester/standalone/libs/jni/.gitignore index dc3463f..7e8075a 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/.gitignore +++ b/src/cz/crcs/ectester/standalone/libs/jni/.gitignore @@ -1,3 +1,6 @@ libcore_s.a libcrypt_s.a -matrixssl/
\ No newline at end of file +matrixssl/ + +CMakeLists.txt +cmake-build-debug
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/Makefile b/src/cz/crcs/ectester/standalone/libs/jni/Makefile index f686b0e..c884dc5 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/Makefile +++ b/src/cz/crcs/ectester/standalone/libs/jni/Makefile @@ -58,87 +58,108 @@ JNI_PLATFORMINCLUDEDIR ?= $(JNI_INCLUDEDIR)/$(JNI_PLATFORM) ############################################################################### ## Targets. -all: tomcrypt_provider.so botan_provider.so cryptopp_provider.so openssl_provider.so boringssl_provider.so gcrypt_provider.so mbedtls_provider.so ippcp_provider.so matrixssl_provider.so +all: tomcrypt botan cryptopp openssl boringssl gcrypt mbedtls ippcp matrixssl # Common utils c_utils.o: c_utils.c $(CC) $(CFLAGS) -c $< -c_timing.o: c_timing.c - $(CC) $(CFLAGS) -c $< +lib_timing.so: c_timing.c + $(CC) -o $@ -shared $(CFLAGS) -Wl,-soname,lib_timing.so $< cpp_utils.o: cpp_utils.cpp $(CXX) $(CXXFLAGS) -c $< # OpenSSL shim -openssl_provider.so: openssl.o c_utils.o c_timing.o - $(CC) $(LFLAGS) -o $@ $^ -L. $(shell pkg-config --libs openssl) +openssl: openssl_provider.so + +openssl_provider.so: openssl.o c_utils.o | lib_timing.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs openssl) -l:lib_timing.so openssl.o: openssl.c $(CC) $(shell pkg-config --cflags openssl) $(CFLAGS) -c $< # BoringSSL shim -boringssl_provider.so: boringssl.o c_utils.o c_timing.o - $(CC) $(LFLAGS) -o $@ $^ -L. ../../../../../../../ext/boringssl/build/crypto/libcrypto.so +boringssl: boringssl_provider.so + +lib_boringssl.so: cp ../../../../../../../ext/boringssl/build/crypto/libcrypto.so lib_boringssl.so +boringssl_provider.so: boringssl.o c_utils.o | lib_timing.so lib_boringssl.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. lib_boringssl.so -l:lib_timing.so + + boringssl.o: boringssl.c $(CC) -I../../../../../../../ext/boringssl/include/ $(CFLAGS) -c $< # libgcrypt shim -gcrypt_provider.so: gcrypt.o c_utils.o c_timing.o - $(CC) $(LFLAGS) -o $@ $^ -L. $(shell libgcrypt-config --libs) +gcrypt: gcrypt_provider.so + +gcrypt_provider.so: gcrypt.o c_utils.o | lib_timing.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell libgcrypt-config --libs) -l:lib_timing.so gcrypt.o: gcrypt.c $(CC) $(shell libgcrypt-config --cflags) $(CFLAGS) -c $< # Libtomcrypt shim -tomcrypt_provider.so: tomcrypt.o c_utils.o c_timing.o - $(CC) $(LFLAGS) -o $@ $^ -L. -ltommath $(shell pkg-config --libs libtomcrypt) +tomcrypt: tomcrypt_provider.so + +tomcrypt_provider.so: tomcrypt.o c_utils.o | lib_timing.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -ltommath $(shell pkg-config --libs libtomcrypt) -l:lib_timing.so tomcrypt.o: tomcrypt.c $(CC) -DLTM_DESC $(shell pkg-config --cflags libtomcrypt) $(CFLAGS) -c $< # Botan-2 shim -botan_provider.so: botan.o cpp_utils.o c_timing.o - $(CXX) $(LFLAGS) -o $@ $^ -L. $(shell pkg-config --libs botan-2) +botan: botan_provider.so + +botan_provider.so: botan.o cpp_utils.o | lib_timing.so + $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs botan-2) -l:lib_timing.so botan.o: botan.cpp $(CXX) $(shell pkg-config --cflags botan-2) $(CXXFLAGS) -c $< # Crypto++ shim -cryptopp_provider.so: cryptopp.o cpp_utils.o c_timing.o - $(CXX) $(LFLAGS) -o $@ $^ -L. $(shell pkg-config --libs libcrypto++) +cryptopp: cryptopp_provider.so + +cryptopp_provider.so: cryptopp.o cpp_utils.o | lib_timing.so + $(CXX) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. $(shell pkg-config --libs libcrypto++) -l:lib_timing.so cryptopp.o: cryptopp.cpp $(CXX) $(shell pkg-config --cflags libcrypto++) $(CXXFLAGS) -c $< # mbedTLS shim -mbedtls_provider.so: mbedtls.o c_utils.o c_timing.o - $(CC) $(LFLAGS) -o $@ $^ -L. -lmbedcrypto +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 mbedtls.o: mbedtls.c $(CC) $(CFLAGS) -c $< # Intel Performance Primitives crypto shim -ippcp_provider.so: ippcp.o c_utils.o c_timing.o - $(CC) $(LFLAGS) -o $@ $^ -L. -lippcp +ippcp: ippcp_provider.so + +ippcp_provider.so: ippcp.o c_utils.o + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' $^ -L. -lippcp -l:lib_timing.so ippcp.o: ippcp.c $(CC) $(CFLAGS) -c $< # MatrixSSL shim -matrixssl_provider.so: matrixssl.o c_utils.o c_timing.o - $(CC) $(LFLAGS) -o $@ -L. $^ libcrypt_s.a libcore_s.a +matrixssl: matrixssl_provider.so + +matrixssl_provider.so: matrixssl.o c_utils.o | lib_timing.so + $(CC) $(LFLAGS) -o $@ -Wl,-rpath,'$$ORIGIN/lib' -L. $^ libcrypt_s.a libcore_s.a -l:lib_timing.so matrixssl.o: matrixssl.c $(CC) $(CFLAGS) -Imatrixssl/ -c $< @@ -147,18 +168,18 @@ matrixssl.o: matrixssl.c help: @echo "# This makefile builds the JNI shims necessary to test native libraries." @echo "# Targets:" - @echo " - openssl_provider.so" - @echo " - boringssl_provider.so" - @echo " - gcrypt_provider.so" - @echo " - tomcrypt_provider.so" - @echo " - botan_provider.so" - @echo " - cryptopp_provider.so" - @echo " - mbedtls_provider.so" - @echo " - ippcp_provider.so" - @echo " - matrixssl_provider.so" + @echo " - openssl" + @echo " - boringssl" + @echo " - gcrypt" + @echo " - tomcrypt" + @echo " - botan" + @echo " - cryptopp" + @echo " - mbedtls" + @echo " - ippcp" + @echo " - matrixssl" clean: rm -rf *.o rm -rf *.so -.PHONY: all help clean
\ No newline at end of file +.PHONY: all help clean openssl boringssl gcrypt tomcrypt botan cryptopp mbedtls ippcp matrixssl
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/boringssl.c b/src/cz/crcs/ectester/standalone/libs/jni/boringssl.c index 0484d28..bca2ead 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/boringssl.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/boringssl.c @@ -513,16 +513,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna EC_KEY_free(pub); EC_GROUP_free(curve); return (result == 1) ? JNI_TRUE : JNI_FALSE; -} - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_BoringsslLib_supportsNativeTiming(JNIEnv *env, jobject this) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_BoringsslLib_getNativeTimingResolution(JNIEnv *env, jobject this) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_BoringsslLib_getLastNativeTiming(JNIEnv *env, jobject this) { - return native_timing_last(); }
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp index 813b9f8..8781f72 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp +++ b/src/cz/crcs/ectester/standalone/libs/jni/botan.cpp @@ -1,10 +1,8 @@ #include "native.h" #include <string> -#include <botan/lookup.h> #include <botan/version.h> #include <botan/parsing.h> -#include <botan/init.h> #include <botan/rng.h> #include <botan/secmem.h> #include <botan/auto_rng.h> @@ -528,16 +526,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna return JNI_TRUE; } return JNI_FALSE; -} - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_supportsNativeTiming(JNIEnv *env, jobject self) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_getNativeTimingResolution(JNIEnv *env, jobject self) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_getLastNativeTiming(JNIEnv *env, jobject self) { - return native_timing_last(); }
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/c_timing.c b/src/cz/crcs/ectester/standalone/libs/jni/c_timing.c index 941cee6..018ceda 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/c_timing.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/c_timing.c @@ -1,47 +1,84 @@ #include "c_timing.h" #if __linux || __posix -#include<unistd.h> -#endif - -#if _POSIX_TIMERS > 0 +#include <unistd.h> #include <time.h> +#include <string.h> +static unsigned long long tsc_start = 0; +static unsigned long long tsc_end = 0; +static unsigned long long tsc_partial = 0; +static const char *rdtsc_unit = "instr"; + +static inline unsigned long long rdtsc(void) { + unsigned long long int x; + __asm__ volatile ("rdtsc" : "=A" (x)); + return x; +} + +static jlong rdtsc_timing_resolution() { + return 1; +} + +static void rdtsc_timing_start() { + tsc_partial = 0; + tsc_start = rdtsc(); +} + +static void rdtsc_timing_pause() { + tsc_end = rdtsc(); + tsc_partial += tsc_end - tsc_start; +} + +static void rdtsc_timing_restart() { + tsc_start = rdtsc(); +} + +static void rdtsc_timing_stop() { + tsc_end = rdtsc(); +} + +static jlong rdtsc_timing_last() { + jlong res = (jlong) ((tsc_end - tsc_start) + tsc_partial); + if (res < 0) { + return 0; + } else { + return res; + } +} static struct timespec start = {0}; static struct timespec end = {0}; static jlong partial = 0; +static clockid_t clk_id = CLOCK_MONOTONIC_RAW; +static const char *clock_unit = "nano"; -jboolean native_timing_supported() { - return JNI_TRUE; -} - -jlong native_timing_resolution() { +static jlong clock_timing_resolution() { struct timespec timeval; - clock_getres(CLOCK_MONOTONIC, &timeval); + clock_getres(clk_id, &timeval); return timeval.tv_nsec; } -void native_timing_start() { +static void clock_timing_start() { partial = 0; - clock_gettime(CLOCK_MONOTONIC, &start); + clock_gettime(clk_id, &start); } -void native_timing_pause() { - clock_gettime(CLOCK_MONOTONIC, &end); +static void clock_timing_pause() { + clock_gettime(clk_id, &end); partial += (end.tv_sec - start.tv_sec) * 1000000000 + (end.tv_nsec - start.tv_nsec); } -void native_timing_restart() { - clock_gettime(CLOCK_MONOTONIC, &start); +static void clock_timing_restart() { + clock_gettime(clk_id, (struct timespec *)&start); } -void native_timing_stop() { - clock_gettime(CLOCK_MONOTONIC, &end); +static void clock_timing_stop() { + clock_gettime(clk_id, (struct timespec *)&end); } -jlong native_timing_last() { +static jlong clock_timing_last() { jlong res = (end.tv_sec - start.tv_sec) * 1000000000 + (end.tv_nsec - start.tv_nsec) + partial; if (res < 0) { return 0; @@ -50,9 +87,105 @@ jlong native_timing_last() { } } +static jlong (*func_timing_resolution)() = &clock_timing_resolution; +static void (*func_timing_start)() = &clock_timing_start; +static void (*func_timing_pause)() = &clock_timing_pause; +static void (*func_timing_restart)() = &clock_timing_restart; +static void (*func_timing_stop)() = &clock_timing_stop; +static jlong (*func_timing_last)() = &clock_timing_last; +static const char *unit = "nano"; + +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_getNativeTimingSupport(JNIEnv *env, jobject self) { + jclass set_class = (*env)->FindClass(env, "java/util/TreeSet"); + + jmethodID set_ctr = (*env)->GetMethodID(env, set_class, "<init>", "()V"); + jmethodID set_add = (*env)->GetMethodID(env, set_class, "add", "(Ljava/lang/Object;)Z"); + + jobject result = (*env)->NewObject(env, set_class, set_ctr); + (*env)->CallBooleanMethod(env, result, set_add, (*env)->NewStringUTF(env, "rdtsc")); + (*env)->CallBooleanMethod(env, result, set_add, (*env)->NewStringUTF(env, "monotonic")); + (*env)->CallBooleanMethod(env, result, set_add, (*env)->NewStringUTF(env, "monotonic-raw")); + (*env)->CallBooleanMethod(env, result, set_add, (*env)->NewStringUTF(env, "cputime-processor")); + (*env)->CallBooleanMethod(env, result, set_add, (*env)->NewStringUTF(env, "cputime-thread")); + return result; +} + +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_setNativeTimingType(JNIEnv *env, jobject self, jstring type) { + const char *type_data = (*env)->GetStringUTFChars(env, type, NULL); + + if (strcmp(type_data, "rdtsc") == 0) { + func_timing_resolution = &rdtsc_timing_resolution; + func_timing_start = &rdtsc_timing_start; + func_timing_pause = &rdtsc_timing_pause; + func_timing_restart = &rdtsc_timing_restart; + func_timing_stop = &rdtsc_timing_stop; + func_timing_last = &rdtsc_timing_last; + unit = rdtsc_unit; + return JNI_TRUE; + } else { + if (strcmp(type_data, "monotonic") == 0) { + clk_id = CLOCK_MONOTONIC; + } else if (strcmp(type_data, "monotonic-raw") == 0) { + clk_id = CLOCK_MONOTONIC_RAW; + } else if (strcmp(type_data, "cputime-processor") == 0) { + clk_id = CLOCK_PROCESS_CPUTIME_ID; + } else if (strcmp(type_data, "cputime-thread") == 0) { + clk_id = CLOCK_THREAD_CPUTIME_ID; + } else { + return JNI_FALSE; + } + + func_timing_resolution = &clock_timing_resolution; + func_timing_start = &clock_timing_start; + func_timing_pause = &clock_timing_pause; + func_timing_restart = &clock_timing_restart; + func_timing_stop = &clock_timing_stop; + func_timing_last = &clock_timing_last; + unit = clock_unit; + return JNI_TRUE; + } +} + +JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_getNativeTimingResolution(JNIEnv *env, jobject self) { + return native_timing_resolution(); +} + +JNIEXPORT jstring JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_getNativeTimingUnit(JNIEnv *env, jobject self) { + return (*env)->NewStringUTF(env, unit); +} + +JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_getLastNativeTiming(JNIEnv *env, jobject self) { + return native_timing_last(); +} + +jlong native_timing_resolution() { + return func_timing_resolution(); +} + +void native_timing_start() { + func_timing_start(); +} + +void native_timing_pause() { + func_timing_pause(); +} + +void native_timing_restart() { + func_timing_restart(); +} + +void native_timing_stop() { + func_timing_stop(); +} + +jlong native_timing_last() { + return func_timing_last(); +} + #elif defined(__WIN32__) || defined(_MSC_VER) #include <Windows.h> +#error TODO static LARGE_INTEGER start = {0}; static LARGE_INTEGER end = {0}; @@ -97,6 +230,7 @@ jlong native_timing_last() { #else +#error TODO jboolean native_timing_supported() { return JNI_FALSE; } @@ -117,4 +251,4 @@ jlong native_timing_last() { return 0; } -#endif
\ No newline at end of file +#endif diff --git a/src/cz/crcs/ectester/standalone/libs/jni/c_timing.h b/src/cz/crcs/ectester/standalone/libs/jni/c_timing.h index 3325c06..e12ccdd 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/c_timing.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/c_timing.h @@ -10,38 +10,35 @@ extern "C" /** * */ -jboolean native_timing_supported(); +__attribute__((visibility("default"))) jlong native_timing_resolution(); /** * */ -jlong native_timing_resolution(); +__attribute__((visibility("default"))) void native_timing_start(); /** * */ -void native_timing_start(); +__attribute__((visibility("default"))) void native_timing_pause(); /** * */ -void native_timing_pause(); +__attribute__((visibility("default"))) void native_timing_restart(); /** * */ -void native_timing_restart(); +__attribute__((visibility("default"))) void native_timing_stop(); /** * */ -void native_timing_stop(); +__attribute__((visibility("default"))) jlong native_timing_last(); + -/** - * - */ -jlong native_timing_last(); #ifdef __cplusplus } -#endif
\ No newline at end of file +#endif diff --git a/src/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp b/src/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp index 089724e..eb782b7 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp +++ b/src/cz/crcs/ectester/standalone/libs/jni/cryptopp.cpp @@ -764,16 +764,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna } // unreachable return JNI_FALSE; -} - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_CryptoppLib_supportsNativeTiming(JNIEnv *env, jobject self) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_CryptoppLib_getNativeTimingResolution(JNIEnv *env, jobject self) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_CryptoppLib_getLastNativeTiming(JNIEnv *env, jobject self) { - return native_timing_last(); }
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/gcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/gcrypt.c index 359d0f4..5d29d2c 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/gcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/gcrypt.c @@ -620,16 +620,4 @@ release_init: gcry_sexp_release(pub_sexp); gcry_sexp_release(data_sexp); return result; -} - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_GcryptLib_supportsNativeTiming(JNIEnv *env, jobject this) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_GcryptLib_getNativeTimingResolution(JNIEnv *env, jobject this) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_GcryptLib_getLastNativeTiming(JNIEnv *env, jobject this) { - return native_timing_last(); }
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/ippcp.c b/src/cz/crcs/ectester/standalone/libs/jni/ippcp.c index fc27460..9846f71 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/ippcp.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/ippcp.c @@ -694,16 +694,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna } return JNI_FALSE; -} - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_IppcpLib_supportsNativeTiming(JNIEnv *env, jobject this) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_IppcpLib_getNativeTimingResolution(JNIEnv *env, jobject this) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_IppcpLib_getLastNativeTiming(JNIEnv *env, jobject this) { - return native_timing_last(); -} +}
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/matrixssl.c b/src/cz/crcs/ectester/standalone/libs/jni/matrixssl.c index 1e6936d..d336a4f 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/matrixssl.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/matrixssl.c @@ -394,17 +394,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna } return result < 0 ? JNI_FALSE : JNI_TRUE; -} - - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_MatrixsslLib_supportsNativeTiming(JNIEnv *env, jobject this) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MatrixsslLib_getNativeTimingResolution(JNIEnv *env, jobject this) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MatrixsslLib_getLastNativeTiming(JNIEnv *env, jobject this) { - return native_timing_last(); }
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/mbedtls.c b/src/cz/crcs/ectester/standalone/libs/jni/mbedtls.c index 0239bdb..05010cf 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/mbedtls.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/mbedtls.c @@ -541,16 +541,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna } return JNI_TRUE; -} - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_supportsNativeTiming(JNIEnv *env, jobject this) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_getNativeTimingResolution(JNIEnv *env, jobject this) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_getLastNativeTiming(JNIEnv *env, jobject this) { - return native_timing_last(); }
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/mscng.c b/src/cz/crcs/ectester/standalone/libs/jni/mscng.c index 7f3ff5d..a182b98 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/mscng.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/mscng.c @@ -1270,16 +1270,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna throw_new_var(env, "java/security/GeneralSecurityException", "Error 0x%x returned by BCryptVerifySignature\n", status);
return JNI_FALSE;
}
-}
-
-JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_MscngLib_supportsNativeTiming(JNIEnv *env, jobject self) {
- return native_timing_supported();
-}
-
-JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MscngLib_getNativeTimingResolution(JNIEnv *env, jobject self) {
- return native_timing_resolution();
-}
-
-JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MscngLib_getLastNativeTiming(JNIEnv *env, jobject self) {
- return native_timing_last();
}
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/native.h b/src/cz/crcs/ectester/standalone/libs/jni/native.h index 7540ce8..f4a9052 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/native.h +++ b/src/cz/crcs/ectester/standalone/libs/jni/native.h @@ -1,36 +1,82 @@ /* DO NOT EDIT THIS FILE - it is machine generated */ #include <jni.h> -/* Header for class cz_crcs_ectester_standalone_libs_TomcryptLib */ +/* Header for class cz_crcs_ectester_standalone_libs_jni_Loader */ -#ifndef _Included_cz_crcs_ectester_standalone_libs_TomcryptLib -#define _Included_cz_crcs_ectester_standalone_libs_TomcryptLib +#ifndef _Included_cz_crcs_ectester_standalone_libs_jni_Loader +#define _Included_cz_crcs_ectester_standalone_libs_jni_Loader #ifdef __cplusplus extern "C" { #endif /* - * Class: cz_crcs_ectester_standalone_libs_TomcryptLib - * Method: supportsNativeTiming - * Signature: ()Z + * Class: cz_crcs_ectester_standalone_libs_jni_Loader + * Method: setup + * Signature: (Ljava/lang/String;)V + */ +JNIEXPORT void JNICALL Java_cz_crcs_ectester_standalone_libs_jni_Loader_setup + (JNIEnv *, jclass, jstring); + +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_NativeECLibrary */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_NativeECLibrary +#define _Included_cz_crcs_ectester_standalone_libs_NativeECLibrary +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: cz_crcs_ectester_standalone_libs_NativeECLibrary + * Method: getNativeTimingSupport + * Signature: ()Ljava/util/Set; */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_supportsNativeTiming +JNIEXPORT jobject JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_getNativeTimingSupport (JNIEnv *, jobject); /* - * Class: cz_crcs_ectester_standalone_libs_TomcryptLib + * Class: cz_crcs_ectester_standalone_libs_NativeECLibrary + * Method: setNativeTimingType + * Signature: (Ljava/lang/String;)Z + */ +JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_setNativeTimingType + (JNIEnv *, jobject, jstring); + +/* + * Class: cz_crcs_ectester_standalone_libs_NativeECLibrary * Method: getNativeTimingResolution * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getNativeTimingResolution +JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_getNativeTimingResolution (JNIEnv *, jobject); /* - * Class: cz_crcs_ectester_standalone_libs_TomcryptLib + * Class: cz_crcs_ectester_standalone_libs_NativeECLibrary + * Method: getNativeTimingUnit + * Signature: ()Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_getNativeTimingUnit + (JNIEnv *, jobject); + +/* + * Class: cz_crcs_ectester_standalone_libs_NativeECLibrary * Method: getLastNativeTiming * Signature: ()J */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getLastNativeTiming +JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_NativeECLibrary_getLastNativeTiming (JNIEnv *, jobject); +#ifdef __cplusplus +} +#endif +#endif +/* Header for class cz_crcs_ectester_standalone_libs_TomcryptLib */ + +#ifndef _Included_cz_crcs_ectester_standalone_libs_TomcryptLib +#define _Included_cz_crcs_ectester_standalone_libs_TomcryptLib +#ifdef __cplusplus +extern "C" { +#endif /* * Class: cz_crcs_ectester_standalone_libs_TomcryptLib * Method: createProvider @@ -214,30 +260,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_BotanLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_BotanLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_BotanLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_BotanLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_BotanLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ @@ -419,30 +441,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_CryptoppLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_CryptoppLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_CryptoppLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_CryptoppLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_CryptoppLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_CryptoppLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_CryptoppLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ @@ -624,30 +622,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_OpensslLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_OpensslLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_OpensslLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_OpensslLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_OpensslLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_OpensslLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_OpensslLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ @@ -829,30 +803,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_MscngLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_MscngLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MscngLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MscngLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MscngLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MscngLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MscngLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ @@ -1034,30 +984,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_BoringsslLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_BoringsslLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_BoringsslLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_BoringsslLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_BoringsslLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_BoringsslLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_BoringsslLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ @@ -1239,30 +1165,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_GcryptLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_GcryptLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_GcryptLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_GcryptLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_GcryptLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_GcryptLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_GcryptLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ @@ -1444,30 +1346,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_MbedTLSLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MbedTLSLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MbedTLSLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MbedTLSLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MbedTLSLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ @@ -1649,30 +1527,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_IppcpLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_IppcpLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_IppcpLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_IppcpLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_IppcpLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_IppcpLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_IppcpLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ @@ -1854,30 +1708,6 @@ extern "C" { #endif /* * Class: cz_crcs_ectester_standalone_libs_MatrixsslLib - * Method: supportsNativeTiming - * Signature: ()Z - */ -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_MatrixsslLib_supportsNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MatrixsslLib - * Method: getNativeTimingResolution - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MatrixsslLib_getNativeTimingResolution - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MatrixsslLib - * Method: getLastNativeTiming - * Signature: ()J - */ -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_MatrixsslLib_getLastNativeTiming - (JNIEnv *, jobject); - -/* - * Class: cz_crcs_ectester_standalone_libs_MatrixsslLib * Method: createProvider * Signature: ()Ljava/security/Provider; */ diff --git a/src/cz/crcs/ectester/standalone/libs/jni/openssl.c b/src/cz/crcs/ectester/standalone/libs/jni/openssl.c index 1e1ba02..103a9be 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/openssl.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/openssl.c @@ -582,16 +582,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna EC_KEY_free(pub); EC_GROUP_free(curve); return (result == 1) ? JNI_TRUE : JNI_FALSE; -} - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_OpensslLib_supportsNativeTiming(JNIEnv *env, jobject this) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_OpensslLib_getNativeTimingResolution(JNIEnv *env, jobject this) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_OpensslLib_getLastNativeTiming(JNIEnv *env, jobject this) { - return native_timing_last(); }
\ No newline at end of file diff --git a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c index 6789ba8..82592f1 100644 --- a/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c +++ b/src/cz/crcs/ectester/standalone/libs/jni/tomcrypt.c @@ -462,16 +462,4 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeSigna (*env)->ReleaseByteArrayElements(env, signature, sig_data, JNI_ABORT); free_curve(curve); return result; -} - -JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_supportsNativeTiming(JNIEnv *env, jobject this) { - return native_timing_supported(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getNativeTimingResolution(JNIEnv *env, jobject this) { - return native_timing_resolution(); -} - -JNIEXPORT jlong JNICALL Java_cz_crcs_ectester_standalone_libs_TomcryptLib_getLastNativeTiming(JNIEnv *env, jobject this) { - return native_timing_last(); }
\ No newline at end of file |
