aboutsummaryrefslogtreecommitdiff
path: root/standalone/src
diff options
context:
space:
mode:
Diffstat (limited to 'standalone/src')
-rw-r--r--standalone/src/main/java/cz/crcs/ectester/standalone/ECTesterStandalone.java14
-rw-r--r--standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c2
2 files changed, 13 insertions, 3 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 96052f1..2708e13 100644
--- a/standalone/src/main/java/cz/crcs/ectester/standalone/ECTesterStandalone.java
+++ b/standalone/src/main/java/cz/crcs/ectester/standalone/ECTesterStandalone.java
@@ -575,16 +575,26 @@ public class ECTesterStandalone {
} else {
ka.init(privkey, random);
}
- ka.doPhase(pubkey, true);
- elapsed += System.nanoTime();
SecretKey derived;
byte[] result;
+ try {
+ ka.doPhase(pubkey, true);
+ elapsed += System.nanoTime();
+
elapsed -= System.nanoTime();
+
if (kaIdent.requiresKeyAlgo()) {
derived = ka.generateSecret(keyAlgo);
result = derived.getEncoded();
} else {
result = ka.generateSecret();
+ }} catch (Exception e){
+ String pub = ByteUtil.bytesToHex(ECUtil.pubkeyToBytes(pubkey), false);
+ String priv = ByteUtil.bytesToHex(ECUtil.privkeyToBytes(privkey), false);
+ out.printf("%d;%d;%s;%s;%d%n", i, 0, pub, priv, 0);
+ ka = kaIdent.getInstance(lib.getProvider());
+ continue;
+
}
elapsed += System.nanoTime();
if (!lib.getNativeTimingSupport().isEmpty()) {
diff --git a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c
index 307d611..61a047d 100644
--- a/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c
+++ b/standalone/src/main/resources/cz/crcs/ectester/standalone/libs/jni/boringssl.c
@@ -199,7 +199,7 @@ JNIEXPORT jboolean JNICALL Java_cz_crcs_ectester_standalone_libs_jni_NativeKeyPa
if ((*env)->IsInstanceOf(env, params, ec_parameter_spec_class)) {
EC_GROUP *curve = create_curve(env, params);
- jboolean result = !curve;
+ jboolean result = (curve != NULL) ? JNI_TRUE : JNI_FALSE;
if (curve)
EC_GROUP_free(curve);
return result;