diff options
Diffstat (limited to 'src/cz/crcs/ectester')
15 files changed, 154 insertions, 136 deletions
diff --git a/src/cz/crcs/ectester/reader/ECTester.java b/src/cz/crcs/ectester/reader/ECTester.java index 5a2274d..271a8e4 100644 --- a/src/cz/crcs/ectester/reader/ECTester.java +++ b/src/cz/crcs/ectester/reader/ECTester.java @@ -52,7 +52,8 @@ public class ECTester { private CardMngr cardManager; private OutputLogger logger; - private OutputWriter writer; + private TestWriter testWriter; + private ResponseWriter respWriter; private EC_Store dataStore; private Config cfg; @@ -105,22 +106,25 @@ public class ECTester { cardManager.send(SELECT_ECTESTERAPPLET); } + // Setup logger, testWriter and respWriter logger = new OutputLogger(true, cfg.log); if (cfg.format == null) { - writer = new TextOutputWriter(logger.getPrintStream()); + testWriter = new TextTestWriter(logger.getPrintStream()); } else { switch (cfg.format) { case "text": - writer = new TextOutputWriter(logger.getPrintStream()); + testWriter = new TextTestWriter(logger.getPrintStream()); break; case "xml": - writer = new XMLOutputWriter(logger.getOutputStream()); + testWriter = new XMLTestWriter(logger.getOutputStream()); break; case "yaml": - writer = new YAMLOutputWriter(logger.getPrintStream()); + case "yml": + testWriter = new YAMLTestWriter(logger.getPrintStream()); break; } } + respWriter = new ResponseWriter(logger.getPrintStream()); //do action if (cli.hasOption("export")) { @@ -351,7 +355,7 @@ public class ECTester { sent.add(export); for (Response r : sent) { - writer.outputResponse(r); + respWriter.outputResponse(r); } EC_Params exported = new EC_Params(domain, export.getParams()); @@ -425,10 +429,10 @@ public class ECTester { switch (cfg.testSuite) { case "default": - suite = new DefaultSuite(dataStore, cfg, writer); + suite = new DefaultSuite(dataStore, cfg); break; case "test-vectors": - suite = new TestVectorSuite(dataStore, cfg, writer); + suite = new TestVectorSuite(dataStore, cfg); break; default: // These tests are dangerous, prompt before them. @@ -438,7 +442,7 @@ public class ECTester { System.out.print("Do you want to proceed? (y/n): "); Scanner in = new Scanner(System.in); String confirmation = in.nextLine().toLowerCase(); - if (!Arrays.asList("yes","y").contains(confirmation)) { + if (!Arrays.asList("yes", "y").contains(confirmation)) { return; } in.close(); @@ -447,13 +451,13 @@ public class ECTester { switch (cfg.testSuite) { case "wrong": - suite = new WrongCurvesSuite(dataStore, cfg, writer); + suite = new WrongCurvesSuite(dataStore, cfg); break; case "composite": - suite = new CompositeCurvesSuite(dataStore, cfg, writer); + suite = new CompositeCurvesSuite(dataStore, cfg); break; case "invalid": - suite = new InvalidCurvesSuite(dataStore, cfg, writer); + suite = new InvalidCurvesSuite(dataStore, cfg); break; default: System.err.println("Unknown test suite."); @@ -461,7 +465,10 @@ public class ECTester { } break; } - suite.run(cardManager); + + TestRunner runner = new TestRunner(suite, testWriter); + suite.setup(cardManager); + runner.run(); } /** @@ -480,7 +487,7 @@ public class ECTester { prepare.add(curve.send()); for (Response r : prepare) { - writer.outputResponse(r); + respWriter.outputResponse(r); } byte pubkey = (cfg.anyPublicKey || cfg.anyKey) ? ECTesterApplet.KEYPAIR_REMOTE : ECTesterApplet.KEYPAIR_LOCAL; @@ -506,7 +513,7 @@ public class ECTester { Response.ECDH perform = new Command.ECDH(cardManager, pubkey, privkey, ECTesterApplet.EXPORT_TRUE, EC_Consts.CORRUPTION_NONE, cfg.ECDHKA).send(); ecdh.add(perform); for (Response r : ecdh) { - writer.outputResponse(r); + respWriter.outputResponse(r); } if (!perform.successful() || !perform.hasSecret()) { @@ -565,7 +572,7 @@ public class ECTester { prepare.add(curve.send()); for (Response r : prepare) { - writer.outputResponse(r); + respWriter.outputResponse(r); } FileWriter out = null; @@ -583,7 +590,7 @@ public class ECTester { Response.ECDSA perform = new Command.ECDSA(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.EXPORT_TRUE, data).send(); ecdsa.add(perform); for (Response r : ecdsa) { - writer.outputResponse(r); + respWriter.outputResponse(r); } if (!perform.successful() || !perform.hasSignature()) { @@ -706,7 +713,7 @@ public class ECTester { } format = cli.getOptionValue("format", "text"); - if (!Arrays.asList("text", "xml", "yaml").contains(format)) { + if (!Arrays.asList("text", "xml", "yaml", "yml").contains(format)) { System.err.println("Wrong output format " + format + "."); return false; } diff --git a/src/cz/crcs/ectester/reader/output/OutputWriter.java b/src/cz/crcs/ectester/reader/output/OutputWriter.java deleted file mode 100644 index 09185b1..0000000 --- a/src/cz/crcs/ectester/reader/output/OutputWriter.java +++ /dev/null @@ -1,18 +0,0 @@ -package cz.crcs.ectester.reader.output; - -import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.test.Test; - -import javax.xml.stream.XMLStreamException; -import javax.xml.transform.TransformerConfigurationException; -import javax.xml.transform.TransformerException; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public interface OutputWriter { - void begin(); - void outputResponse(Response r); - void outputTest(Test t); - void end(); -} diff --git a/src/cz/crcs/ectester/reader/output/ResponseWriter.java b/src/cz/crcs/ectester/reader/output/ResponseWriter.java new file mode 100644 index 0000000..120fdba --- /dev/null +++ b/src/cz/crcs/ectester/reader/output/ResponseWriter.java @@ -0,0 +1,39 @@ +package cz.crcs.ectester.reader.output; + +import cz.crcs.ectester.reader.Util; +import cz.crcs.ectester.reader.response.Response; + +import java.io.PrintStream; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class ResponseWriter { + private PrintStream output; + + public ResponseWriter(PrintStream output) { + this.output = output; + } + + public String responseSuffix(Response r) { + StringBuilder suffix = new StringBuilder(); + for (int j = 0; j < r.getNumSW(); ++j) { + short sw = r.getSW(j); + if (sw != 0) { + suffix.append(" ").append(Util.getSWString(sw)); + } + } + if (suffix.length() == 0) { + suffix.append(" [").append(Util.getSW(r.getNaturalSW())).append("]"); + } + return String.format("%4d ms : %s", r.getDuration() / 1000000, suffix); + } + + public void outputResponse(Response r) { + String out = ""; + out += String.format("%-70s:", r.getDescription()) + " : "; + out += responseSuffix(r); + output.println(out); + output.flush(); + } +} diff --git a/src/cz/crcs/ectester/reader/output/TeeOutputStream.java b/src/cz/crcs/ectester/reader/output/TeeOutputStream.java index e18d32b..2a1af99 100644 --- a/src/cz/crcs/ectester/reader/output/TeeOutputStream.java +++ b/src/cz/crcs/ectester/reader/output/TeeOutputStream.java @@ -22,14 +22,14 @@ public class TeeOutputStream extends OutputStream { @Override public void flush() throws IOException { - for (OutputStream out :outputs) { + for (OutputStream out : outputs) { out.flush(); } } @Override public void close() throws IOException { - for (OutputStream out :outputs) { + for (OutputStream out : outputs) { out.close(); } } diff --git a/src/cz/crcs/ectester/reader/output/TestWriter.java b/src/cz/crcs/ectester/reader/output/TestWriter.java new file mode 100644 index 0000000..74c76fb --- /dev/null +++ b/src/cz/crcs/ectester/reader/output/TestWriter.java @@ -0,0 +1,15 @@ +package cz.crcs.ectester.reader.output; + +import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.reader.test.TestSuite; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public interface TestWriter { + void begin(TestSuite suite); + + void outputTest(Test t); + + void end(); +} diff --git a/src/cz/crcs/ectester/reader/output/TextOutputWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index 7f9cdae..80c7204 100644 --- a/src/cz/crcs/ectester/reader/output/TextOutputWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -1,52 +1,30 @@ package cz.crcs.ectester.reader.output; -import cz.crcs.ectester.reader.Util; -import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.reader.test.TestSuite; import java.io.PrintStream; /** * @author Jan Jancar johny@neuromancer.sk */ -public class TextOutputWriter implements OutputWriter { +public class TextTestWriter implements TestWriter { private PrintStream output; + private ResponseWriter respWriter; - public TextOutputWriter(PrintStream output) { + public TextTestWriter(PrintStream output) { this.output = output; + this.respWriter = new ResponseWriter(output); } @Override - public void begin() { + public void begin(TestSuite suite) { } private String testPrefix(Test t) { return String.format("%-4s", t.getResult() == Test.Result.SUCCESS ? "OK" : "NOK"); } - private String responseSuffix(Response r) { - StringBuilder suffix = new StringBuilder(); - for (int j = 0; j < r.getNumSW(); ++j) { - short sw = r.getSW(j); - if (sw != 0) { - suffix.append(" ").append(Util.getSWString(sw)); - } - } - if (suffix.length() == 0) { - suffix.append(" [").append(Util.getSW(r.getNaturalSW())).append("]"); - } - return String.format("%4d ms : %s", r.getDuration() / 1000000, suffix); - } - - @Override - public void outputResponse(Response r) { - String out = ""; - out += String.format("%-70s:", r.getDescription()) + " : "; - out += responseSuffix(r); - output.println(out); - output.flush(); - } - private String testString(Test t) { if (!t.hasRun()) return null; @@ -55,7 +33,7 @@ public class TextOutputWriter implements OutputWriter { if (t instanceof Test.Simple) { Test.Simple test = (Test.Simple) t; out.append(String.format("%-70s:", testPrefix(t) + " : " + test.getDescription())).append(" : "); - out.append(responseSuffix(test.getResponse())); + out.append(respWriter.responseSuffix(test.getResponse())); } else if (t instanceof Test.Compound) { Test.Compound test = (Test.Compound) t; Test[] tests = test.getTests(); @@ -76,6 +54,8 @@ public class TextOutputWriter implements OutputWriter { @Override public void outputTest(Test t) { + if (!t.hasRun()) + return; output.println(testString(t)); output.flush(); } diff --git a/src/cz/crcs/ectester/reader/output/XMLOutputWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index b9f8c8f..29a97db 100644 --- a/src/cz/crcs/ectester/reader/output/XMLOutputWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -3,13 +3,17 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.reader.test.TestSuite; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.*; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import java.io.OutputStream; @@ -17,18 +21,18 @@ import java.io.OutputStream; /** * @author Jan Jancar johny@neuromancer.sk */ -public class XMLOutputWriter implements OutputWriter { +public class XMLTestWriter implements TestWriter { private OutputStream output; private Document doc; private Node root; - public XMLOutputWriter(OutputStream output) throws ParserConfigurationException { + public XMLTestWriter(OutputStream output) throws ParserConfigurationException { this.output = output; this.doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); } @Override - public void begin() { + public void begin(TestSuite suite) { root = doc.createElement("testRun"); doc.appendChild(root); } @@ -64,11 +68,6 @@ public class XMLOutputWriter implements OutputWriter { return responseElem; } - @Override - public void outputResponse(Response r) { - root.appendChild(responseElement(r)); - } - private Element testElement(Test t) { Element testElem = doc.createElement("test"); diff --git a/src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index 211bd47..10d9bb9 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLOutputWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -3,6 +3,7 @@ package cz.crcs.ectester.reader.output; import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.response.Response; import cz.crcs.ectester.reader.test.Test; +import cz.crcs.ectester.reader.test.TestSuite; import org.yaml.snakeyaml.DumperOptions; import org.yaml.snakeyaml.Yaml; @@ -15,16 +16,16 @@ import java.util.Map; /** * @author Jan Jancar johny@neuromancer.sk */ -public class YAMLOutputWriter implements OutputWriter { +public class YAMLTestWriter implements TestWriter { private PrintStream output; private List<Object> testRun; - public YAMLOutputWriter(PrintStream output) { + public YAMLTestWriter(PrintStream output) { this.output = output; } @Override - public void begin() { + public void begin(TestSuite suite) { output.println("---"); testRun = new LinkedList<>(); } @@ -44,11 +45,6 @@ public class YAMLOutputWriter implements OutputWriter { return responseObj; } - @Override - public void outputResponse(Response r) { - testRun.add(responseObject(r)); - } - private Map<String, Object> testObject(Test t) { Map<String, Object> testObj = new HashMap<>(); @@ -74,6 +70,8 @@ public class YAMLOutputWriter implements OutputWriter { @Override public void outputTest(Test t) { + if (!t.hasRun()) + return; testRun.add(testObject(t)); } @@ -81,6 +79,7 @@ public class YAMLOutputWriter implements OutputWriter { public void end() { DumperOptions options = new DumperOptions(); options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK); + options.setPrettyFlow(true); Yaml yaml = new Yaml(options); Map<String, List<Object>> result = new HashMap<>(); diff --git a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java index 75c6371..76b79de 100644 --- a/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/CompositeCurvesSuite.java @@ -8,7 +8,7 @@ import cz.crcs.ectester.reader.ECTester; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.ec.EC_Curve; import cz.crcs.ectester.reader.ec.EC_Key; -import cz.crcs.ectester.reader.output.OutputWriter; +import cz.crcs.ectester.reader.output.TestWriter; import javacard.security.KeyPair; import javax.smartcardio.CardException; @@ -22,12 +22,12 @@ import java.util.Map; */ public class CompositeCurvesSuite extends TestSuite { - public CompositeCurvesSuite(EC_Store dataStore, ECTester.Config cfg, OutputWriter writer) { - super(dataStore, cfg, writer, "composite"); + public CompositeCurvesSuite(EC_Store dataStore, ECTester.Config cfg) { + super(dataStore, cfg, "composite"); } @Override - public List<Test> run(CardMngr cardManager) throws IOException, CardException { + public void setup(CardMngr cardManager) { /* Do the default tests with the public keys set to provided smallorder keys * over composite order curves. Essentially small subgroup attacks. * These should fail, the curves aren't safe so that if the computation with @@ -55,6 +55,5 @@ public class CompositeCurvesSuite extends TestSuite { tests.add(new Test.Simple(new Command.Cleanup(cardManager), Test.Result.ANY)); } } - return super.run(cardManager); } } diff --git a/src/cz/crcs/ectester/reader/test/DefaultSuite.java b/src/cz/crcs/ectester/reader/test/DefaultSuite.java index 2024578..de069f9 100644 --- a/src/cz/crcs/ectester/reader/test/DefaultSuite.java +++ b/src/cz/crcs/ectester/reader/test/DefaultSuite.java @@ -6,25 +6,21 @@ import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTester; import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.output.OutputWriter; import javacard.security.KeyPair; -import javax.smartcardio.CardException; import java.io.IOException; -import java.util.List; /** - * * @author Jan Jancar johny@neuromancer.sk */ public class DefaultSuite extends TestSuite { - public DefaultSuite(EC_Store dataStore, ECTester.Config cfg, OutputWriter writer) { - super(dataStore, cfg, writer, "default"); + public DefaultSuite(EC_Store dataStore, ECTester.Config cfg) { + super(dataStore, cfg, "default"); } @Override - public List<Test> run(CardMngr cardManager) throws IOException, CardException { + public void setup(CardMngr cardManager) throws IOException { tests.add(new Test.Simple(new Command.Support(cardManager), Test.Result.ANY)); if (cfg.namedCurve != null) { if (cfg.primeField) { @@ -57,7 +53,6 @@ public class DefaultSuite extends TestSuite { } } } - return super.run(cardManager); } private void defaultTests(CardMngr cardManager, short keyLength, byte keyType) throws IOException { diff --git a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java index 20882b6..3b6cb2f 100644 --- a/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/InvalidCurvesSuite.java @@ -8,10 +8,8 @@ import cz.crcs.ectester.reader.ECTester; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.ec.EC_Curve; import cz.crcs.ectester.reader.ec.EC_Key; -import cz.crcs.ectester.reader.output.OutputWriter; import javacard.security.KeyPair; -import javax.smartcardio.CardException; import java.io.IOException; import java.util.HashMap; import java.util.LinkedList; @@ -19,17 +17,16 @@ import java.util.List; import java.util.Map; /** - * * @author Jan Jancar johny@neuromancer.sk */ public class InvalidCurvesSuite extends TestSuite { - public InvalidCurvesSuite(EC_Store dataStore, ECTester.Config cfg, OutputWriter writer) { - super(dataStore, cfg, writer, "invalid"); + public InvalidCurvesSuite(EC_Store dataStore, ECTester.Config cfg) { + super(dataStore, cfg, "invalid"); } @Override - public List<Test> run(CardMngr cardManager) throws CardException, IOException { + public void setup(CardMngr cardManager) throws IOException { /* Set original curves (secg/nist/brainpool). Generate local. * Try ECDH with invalid public keys of increasing (or decreasing) order. */ @@ -64,7 +61,5 @@ public class InvalidCurvesSuite extends TestSuite { } tests.add(new Test.Simple(new Command.Cleanup(cardManager), Test.Result.ANY)); } - - return super.run(cardManager); } } diff --git a/src/cz/crcs/ectester/reader/test/TestRunner.java b/src/cz/crcs/ectester/reader/test/TestRunner.java new file mode 100644 index 0000000..baab6a8 --- /dev/null +++ b/src/cz/crcs/ectester/reader/test/TestRunner.java @@ -0,0 +1,29 @@ +package cz.crcs.ectester.reader.test; + +import cz.crcs.ectester.reader.output.TestWriter; + +import javax.smartcardio.CardException; + +/** + * @author Jan Jancar johny@neuromancer.sk + */ +public class TestRunner { + private TestSuite suite; + private TestWriter writer; + + public TestRunner(TestSuite suite, TestWriter writer) { + this.suite = suite; + this.writer = writer; + } + + public void run() throws CardException { + writer.begin(suite); + for (Test t : suite.getTests()) { + if (!t.hasRun()) { + t.run(); + writer.outputTest(t); + } + } + writer.end(); + } +} diff --git a/src/cz/crcs/ectester/reader/test/TestSuite.java b/src/cz/crcs/ectester/reader/test/TestSuite.java index fde2266..6123a39 100644 --- a/src/cz/crcs/ectester/reader/test/TestSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestSuite.java @@ -1,17 +1,13 @@ package cz.crcs.ectester.reader.test; -import static cz.crcs.ectester.reader.test.Test.Result; import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTester; -import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.ec.*; -import cz.crcs.ectester.reader.output.OutputWriter; -import cz.crcs.ectester.reader.response.Response; -import javacard.security.KeyPair; +import cz.crcs.ectester.reader.output.TestWriter; import javax.smartcardio.CardException; import java.io.IOException; @@ -24,28 +20,16 @@ public abstract class TestSuite { EC_Store dataStore; ECTester.Config cfg; - OutputWriter writer; String name; List<Test> tests = new LinkedList<>(); - TestSuite(EC_Store dataStore, ECTester.Config cfg, OutputWriter writer, String name) { + TestSuite(EC_Store dataStore, ECTester.Config cfg, String name) { this.dataStore = dataStore; this.cfg = cfg; - this.writer = writer; this.name = name; } - public List<Test> run(CardMngr cardManager) throws CardException, IOException { - writer.begin(); - for (Test t : tests) { - if (!t.hasRun()) { - t.run(); - writer.outputTest(t); - } - } - writer.end(); - return tests; - } + public abstract void setup(CardMngr cardManager) throws IOException; public List<Test> getTests() { return Collections.unmodifiableList(tests); diff --git a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java index 2098ae3..2a74d41 100644 --- a/src/cz/crcs/ectester/reader/test/TestVectorSuite.java +++ b/src/cz/crcs/ectester/reader/test/TestVectorSuite.java @@ -8,28 +8,25 @@ import cz.crcs.ectester.reader.ECTester; import cz.crcs.ectester.reader.Util; import cz.crcs.ectester.reader.command.Command; import cz.crcs.ectester.reader.ec.*; -import cz.crcs.ectester.reader.output.OutputWriter; import cz.crcs.ectester.reader.response.Response; import javacard.security.KeyPair; -import javax.smartcardio.CardException; import java.io.IOException; import java.util.LinkedList; import java.util.List; import java.util.Map; /** - * * @author Jan Jancar johny@neuromancer.sk */ public class TestVectorSuite extends TestSuite { - public TestVectorSuite(EC_Store dataStore, ECTester.Config cfg, OutputWriter writer) { - super(dataStore, cfg, writer, "test"); + public TestVectorSuite(EC_Store dataStore, ECTester.Config cfg) { + super(dataStore, cfg, "test"); } @Override - public List<Test> run(CardMngr cardManager) throws IOException, CardException { + public void setup(CardMngr cardManager) throws IOException { /* Set original curves (secg/nist/brainpool). Set keypairs from test vectors. * Do ECDH both ways, export and verify that the result is correct. */ @@ -76,6 +73,5 @@ public class TestVectorSuite extends TestSuite { tests.add(new Test.Simple(new Command.Cleanup(cardManager), Test.Result.ANY)); } - return super.run(cardManager); } } diff --git a/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java b/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java index 3346b9f..95bbe1e 100644 --- a/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java +++ b/src/cz/crcs/ectester/reader/test/WrongCurvesSuite.java @@ -3,7 +3,7 @@ package cz.crcs.ectester.reader.test; import cz.crcs.ectester.data.EC_Store; import cz.crcs.ectester.reader.CardMngr; import cz.crcs.ectester.reader.ECTester; -import cz.crcs.ectester.reader.output.OutputWriter; +import cz.crcs.ectester.reader.output.TestWriter; import javacard.security.KeyPair; import javax.smartcardio.CardException; @@ -16,12 +16,12 @@ import java.util.List; */ public class WrongCurvesSuite extends TestSuite { - public WrongCurvesSuite(EC_Store dataStore, ECTester.Config cfg, OutputWriter writer) { - super(dataStore, cfg, writer, "wrong"); + public WrongCurvesSuite(EC_Store dataStore, ECTester.Config cfg) { + super(dataStore, cfg, "wrong"); } @Override - public List<Test> run(CardMngr cardManager) throws CardException, IOException { + public void setup(CardMngr cardManager) throws IOException { /* Just do the default tests on the wrong curves. * These should generally fail, the curves aren't curves. */ @@ -31,6 +31,5 @@ public class WrongCurvesSuite extends TestSuite { if (cfg.binaryField) { tests.addAll(defaultCategoryTests(cardManager, cfg.testSuite, KeyPair.ALG_EC_F2M, Test.Result.FAILURE, Test.Result.FAILURE, Test.Result.FAILURE, Test.Result.FAILURE)); } - return super.run(cardManager); } } |
