aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs
diff options
context:
space:
mode:
authorJ08nY2018-07-30 19:16:55 +0200
committerJ08nY2018-07-30 19:16:55 +0200
commitbfb1202f83a36f086b69286060e7355777e83b61 (patch)
tree29f336744b932b2090cf5e760ecf268569d20e74 /src/cz/crcs
parentd24630d759bb16f715564ab80a5d4447f57d03f2 (diff)
downloadECTester-bfb1202f83a36f086b69286060e7355777e83b61.tar.gz
ECTester-bfb1202f83a36f086b69286060e7355777e83b61.tar.zst
ECTester-bfb1202f83a36f086b69286060e7355777e83b61.zip
Diffstat (limited to 'src/cz/crcs')
-rw-r--r--src/cz/crcs/ectester/reader/ECTesterReader.java1
-rw-r--r--src/cz/crcs/ectester/standalone/ECTesterStandalone.java33
-rw-r--r--src/cz/crcs/ectester/standalone/consts/Ident.java2
-rw-r--r--src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java12
4 files changed, 38 insertions, 10 deletions
diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java
index 4a7d779..7bdf0f1 100644
--- a/src/cz/crcs/ectester/reader/ECTesterReader.java
+++ b/src/cz/crcs/ectester/reader/ECTesterReader.java
@@ -94,7 +94,6 @@ public class ECTesterReader {
DESCRIPTION = "ECTesterReader " + VERSION + GIT_COMMIT + ", a javacard Elliptic Curve Cryptography support tester/utility.";
CLI_HEADER = "\n" + DESCRIPTION + "\n\n";
- ;
}
private void run(String[] args) {
diff --git a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java
index 31d291c..aafe38a 100644
--- a/src/cz/crcs/ectester/standalone/ECTesterStandalone.java
+++ b/src/cz/crcs/ectester/standalone/ECTesterStandalone.java
@@ -264,16 +264,26 @@ public class ECTesterStandalone {
.findFirst()
.orElse(null);
+ String baseAlgo;
+ if (algo.contains("with")) {
+ baseAlgo = algo.split("with")[0];
+ } else {
+ baseAlgo = algo;
+ }
+
KeyPairGeneratorIdent kpIdent = lib.getKPGs().stream()
.filter((ident) -> ident.contains(algo))
.findFirst()
.orElse(lib.getKPGs().stream()
- .filter((ident) -> ident.contains("ECDH"))
+ .filter((ident) -> ident.contains(baseAlgo))
.findFirst()
.orElse(lib.getKPGs().stream()
- .filter((ident) -> ident.contains("EC"))
+ .filter((ident) -> ident.contains("ECDH"))
.findFirst()
- .orElse(null)));
+ .orElse(lib.getKPGs().stream()
+ .filter((ident) -> ident.contains("EC"))
+ .findFirst()
+ .orElse(null))));
if (kaIdent == null || kpIdent == null) {
throw new NoSuchAlgorithmException(algo);
@@ -367,13 +377,26 @@ public class ECTesterStandalone {
.findFirst()
.orElse(null);
+ String baseAlgo;
+ if (algo.contains("with")) {
+ baseAlgo = algo.split("with")[1];
+ } else {
+ baseAlgo = algo;
+ }
+
KeyPairGeneratorIdent kpIdent = lib.getKPGs().stream()
.filter((ident) -> ident.contains(algo))
.findFirst()
.orElse(lib.getKPGs().stream()
- .filter((ident) -> ident.contains("EC"))
+ .filter((ident) -> ident.contains(baseAlgo))
.findFirst()
- .orElse(null));
+ .orElse(lib.getKPGs().stream()
+ .filter((ident) -> ident.contains("ECDSA"))
+ .findFirst()
+ .orElse(lib.getKPGs().stream()
+ .filter((ident) -> ident.contains("EC"))
+ .findFirst()
+ .orElse(null))));
if (sigIdent == null || kpIdent == null) {
throw new NoSuchAlgorithmException(algo);
diff --git a/src/cz/crcs/ectester/standalone/consts/Ident.java b/src/cz/crcs/ectester/standalone/consts/Ident.java
index 40a44ac..29603c2 100644
--- a/src/cz/crcs/ectester/standalone/consts/Ident.java
+++ b/src/cz/crcs/ectester/standalone/consts/Ident.java
@@ -36,6 +36,7 @@ public abstract class Ident {
try {
instance = getter.apply(name, provider);
} catch (Exception ignored) {
+ ignored.printStackTrace();
}
if (instance == null) {
@@ -46,6 +47,7 @@ public abstract class Ident {
break;
}
} catch (Exception ignored) {
+ ignored.printStackTrace();
}
}
}
diff --git a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java
index 7ca013a..aa83479 100644
--- a/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java
+++ b/src/cz/crcs/ectester/standalone/libs/jni/NativeKeyPairGeneratorSpi.java
@@ -13,6 +13,8 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
private boolean useKeysize;
private boolean useParams;
+ public static final int DEFAULT_KEYSIZE = 256;
+
@Override
public void initialize(int keysize, SecureRandom random) {
if (!keysizeSupported(keysize)) {
@@ -37,6 +39,12 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
@Override
public KeyPair generateKeyPair() {
+ if (!useKeysize && !useParams) {
+ if (keysizeSupported(DEFAULT_KEYSIZE)) {
+ initialize(DEFAULT_KEYSIZE, new SecureRandom());
+ }
+ }
+
if (useKeysize) {
return generate(keysize, random);
} else if (useParams) {
@@ -57,7 +65,6 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
public static class TomCrypt extends NativeKeyPairGeneratorSpi {
public TomCrypt() {
- initialize(256, new SecureRandom());//TODO: maybe remove this default init?
}
@Override
@@ -78,7 +85,6 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
public Botan(String type) {
this.type = type;
- initialize(256, new SecureRandom());//TODO: maybe remove this default init?
}
@Override
@@ -127,7 +133,6 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
public Cryptopp(String type) {
this.type = type;
- initialize(256, new SecureRandom());//TODO: maybe remove this default init?
}
@Override
@@ -180,7 +185,6 @@ public abstract class NativeKeyPairGeneratorSpi extends KeyPairGeneratorSpi {
public Mscng(String type) {
this.type = type;
- initialize(256, new SecureRandom());
}
@Override