From 4dfa76f84bfdfbafe400ea0d4670dddc46cc3ade Mon Sep 17 00:00:00 2001 From: J08nY Date: Tue, 29 May 2018 19:29:18 +0200 Subject: Add list-suites option to both reader and standalone. - Also add support for specifying the key algo for KDF in standalone ECDH. - Add descriptions to standalone options. --- src/cz/crcs/ectester/reader/ECTesterReader.java | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/cz/crcs/ectester/reader') diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 9d7df4e..92b5781 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -102,6 +102,11 @@ public class ECTesterReader { return; } + if (cli.hasOption("list-suites")) { + listSuites(); + return; + } + //init CardManager cardManager = new CardMngr(cfg.verbose, cfg.simulate); @@ -250,6 +255,7 @@ public class ECTesterReader { actions.addOption(Option.builder("t").longOpt("test").desc("Test ECC support. [test_suite]:\n- default:\n- compression:\n- invalid:\n- twist:\n- degenerate:\n- cofactor:\n- wrong:\n- composite:\n- test-vectors:\n- edge-cases:").hasArg().argName("test_suite").optionalArg(true).build()); actions.addOption(Option.builder("dh").longOpt("ecdh").desc("Do EC KeyAgreement (ECDH...), [count] times.").hasArg().argName("count").optionalArg(true).build()); actions.addOption(Option.builder("dsa").longOpt("ecdsa").desc("Sign data with ECDSA, [count] times.").hasArg().argName("count").optionalArg(true).build()); + actions.addOption(Option.builder("ls").longOpt("list-suites").desc("List supported test suites.").build()); opts.addOptionGroup(actions); @@ -299,6 +305,26 @@ public class ECTesterReader { return parser.parse(opts, args); } + private void listSuites() { + CardTestSuite[] suites = new CardTestSuite[]{ + new CardDefaultSuite(null, null, null), + new CardTestVectorSuite(null, null, null), + new CardCompressionSuite(null, null, null), + new CardWrongCurvesSuite(null, null, null), + new CardDegenerateCurvesSuite(null, null, null), + new CardCofactorSuite(null, null, null), + new CardCompositeCurvesSuite(null, null, null), + new CardInvalidCurvesSuite(null, null, null), + new CardEdgeCasesSuite(null, null, null), + new CardTwistTestSuite(null, null, null)}; + for (CardTestSuite suite : suites) { + System.out.println(" - " + suite.getName()); + for (String line : suite.getDescription()) { + System.out.println("\t" + line); + } + } + } + /** * Exports default card/simulation EC domain parameters to output file. * -- cgit v1.3.1