aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader/ECTesterReader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/cz/crcs/ectester/reader/ECTesterReader.java')
-rw-r--r--src/cz/crcs/ectester/reader/ECTesterReader.java18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java
index 475d701..5c50bf2 100644
--- a/src/cz/crcs/ectester/reader/ECTesterReader.java
+++ b/src/cz/crcs/ectester/reader/ECTesterReader.java
@@ -281,11 +281,7 @@ public class ECTesterReader {
opts.addOptionGroup(actions);
- OptionGroup size = new OptionGroup();
- size.addOption(Option.builder("b").longOpt("bit-size").desc("Set curve size.").hasArg().argName("bits").build());
- size.addOption(Option.builder("a").longOpt("all").desc("Test all curve sizes.").build());
- opts.addOptionGroup(size);
-
+ opts.addOption(Option.builder("b").longOpt("bit-size").desc("Set curve size.").hasArg().argName("bits").build());
opts.addOption(Option.builder("fp").longOpt("prime-field").desc("Use a prime field.").build());
opts.addOption(Option.builder("f2m").longOpt("binary-field").desc("Use a binary field.").build());
@@ -362,9 +358,15 @@ public class ECTesterReader {
List<Response> sent = new LinkedList<>();
sent.add(new Command.Allocate(cardManager, ECTesterApplet.KEYPAIR_LOCAL, cfg.bits, keyClass).send());
- sent.add(new Command.Clear(cardManager, ECTesterApplet.KEYPAIR_LOCAL).send());
+ //sent.add(new Command.Clear(cardManager, ECTesterApplet.KEYPAIR_LOCAL).send());
sent.add(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_LOCAL).send());
+ // Also support exporting set parameters, to verify they are set correctly.
+ Command curve = Command.prepareCurve(cardManager, EC_Store.getInstance(), cfg, ECTesterApplet.KEYPAIR_LOCAL, cfg.bits, keyClass);
+ if (curve != null) {
+ sent.add(curve.send());
+ }
+
// Cofactor generally isn't set on the default curve parameters on cards,
// since its not necessary for ECDH, only ECDHC which not many cards implement
// TODO: check if its assumend to be == 1?
@@ -806,10 +808,6 @@ public class ECTesterReader {
System.err.println(Colors.error("Keys should not be specified when exporting curve params."));
return false;
}
- if (namedCurve != null || customCurve || curveFile != null) {
- System.err.println(Colors.error("Specifying a curve for curve export makes no sense."));
- return false;
- }
if (outputs == null) {
System.err.println(Colors.error("You have to specify an output file for curve parameter export."));
return false;