aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader/ECTesterReader.java
diff options
context:
space:
mode:
authorJ08nY2018-05-29 19:29:18 +0200
committerJ08nY2018-05-29 19:29:18 +0200
commit4dfa76f84bfdfbafe400ea0d4670dddc46cc3ade (patch)
treebbcecc3f144ed813acbb9fd16bbeaf46f32f2fbe /src/cz/crcs/ectester/reader/ECTesterReader.java
parentd970a9c64a8363a5b6b6fc65c1a767ea6951c298 (diff)
downloadECTester-4dfa76f84bfdfbafe400ea0d4670dddc46cc3ade.tar.gz
ECTester-4dfa76f84bfdfbafe400ea0d4670dddc46cc3ade.tar.zst
ECTester-4dfa76f84bfdfbafe400ea0d4670dddc46cc3ade.zip
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.
Diffstat (limited to 'src/cz/crcs/ectester/reader/ECTesterReader.java')
-rw-r--r--src/cz/crcs/ectester/reader/ECTesterReader.java26
1 files changed, 26 insertions, 0 deletions
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.
*