diff options
| author | J08nY | 2018-08-14 18:46:41 +0200 |
|---|---|---|
| committer | J08nY | 2018-08-14 19:01:12 +0200 |
| commit | c8a14bb85176b76ef817fea0002c0607f0f03d57 (patch) | |
| tree | 820aa310fef1d16b5c1638469bbe9a2d26be20be /src/cz/crcs/ectester/reader/ECTesterReader.java | |
| parent | 8b60f1b6e4369b734818b415eac1373751170589 (diff) | |
| download | ECTester-c8a14bb85176b76ef817fea0002c0607f0f03d57.tar.gz ECTester-c8a14bb85176b76ef817fea0002c0607f0f03d57.tar.zst ECTester-c8a14bb85176b76ef817fea0002c0607f0f03d57.zip | |
Allow exporting set curve parameters to verify them.
Diffstat (limited to 'src/cz/crcs/ectester/reader/ECTesterReader.java')
| -rw-r--r-- | src/cz/crcs/ectester/reader/ECTesterReader.java | 18 |
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; |
