diff options
| -rw-r--r-- | !uploader/ectester.cap | bin | 13789 -> 13790 bytes | |||
| -rw-r--r-- | dist/ECTester.jar | bin | 104311 -> 211003 bytes | |||
| -rw-r--r-- | src/cz/crcs/ectester/data/EC_Data.java | 25 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/ECTester.java | 31 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/Response.java | 2 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/ec/EC_Curve.java | 2 |
6 files changed, 47 insertions, 13 deletions
diff --git a/!uploader/ectester.cap b/!uploader/ectester.cap Binary files differindex 4dc1bca..c669495 100644 --- a/!uploader/ectester.cap +++ b/!uploader/ectester.cap diff --git a/dist/ECTester.jar b/dist/ECTester.jar Binary files differindex 8201bec..6ebc1c8 100644 --- a/dist/ECTester.jar +++ b/dist/ECTester.jar diff --git a/src/cz/crcs/ectester/data/EC_Data.java b/src/cz/crcs/ectester/data/EC_Data.java index a867fcf..0c4bda2 100644 --- a/src/cz/crcs/ectester/data/EC_Data.java +++ b/src/cz/crcs/ectester/data/EC_Data.java @@ -10,7 +10,9 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; +import org.xml.sax.ErrorHandler; import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; import javax.xml.XMLConstants; import javax.xml.parsers.DocumentBuilder; @@ -29,12 +31,12 @@ import java.util.Map; */ public class EC_Data { - private DocumentBuilderFactory dbf; + private DocumentBuilder db; private Map<String, EC_Category> categories; public EC_Data() { - dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); try { SchemaFactory scf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); @@ -43,6 +45,23 @@ public class EC_Data { dbf.setNamespaceAware(true); dbf.setIgnoringComments(true); dbf.setIgnoringElementContentWhitespace(true); + db = dbf.newDocumentBuilder(); + db.setErrorHandler(new ErrorHandler() { + @Override + public void warning(SAXParseException exception) throws SAXException { + System.err.println("EC_Data | Warning : " + exception); + } + + @Override + public void error(SAXParseException exception) throws SAXException { + System.err.println("EC_Data | Error : " + exception); + } + + @Override + public void fatalError(SAXParseException exception) throws SAXException { + System.err.println("EC_Data | Fatal : " + exception); + } + }); parse(); } catch (ParserConfigurationException | IOException | SAXException e) { @@ -51,7 +70,6 @@ public class EC_Data { } private void parse() throws SAXException, ParserConfigurationException, IOException { - DocumentBuilder db = dbf.newDocumentBuilder(); Document categoriesDoc = db.parse(this.getClass().getResourceAsStream("/cz/crcs/ectester/data/categories.xml")); categoriesDoc.normalize(); @@ -76,7 +94,6 @@ public class EC_Data { } private EC_Category parseCategory(String name, String dir, String desc) throws ParserConfigurationException, IOException, SAXException { - DocumentBuilder db = dbf.newDocumentBuilder(); Map<String, EC_Params> objMap = new HashMap<>(); diff --git a/src/cz/crcs/ectester/reader/ECTester.java b/src/cz/crcs/ectester/reader/ECTester.java index c4d29a5..86588df 100644 --- a/src/cz/crcs/ectester/reader/ECTester.java +++ b/src/cz/crcs/ectester/reader/ECTester.java @@ -602,6 +602,12 @@ public class ECTester { generate.add(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH)); } + FileWriter out = null; + if (optOutput != null) { + out = new FileWriter(optOutput); + out.write("index;time;secret\n"); + } + int retry = 0; int done = 0; while (done < optECDHCount) { @@ -621,13 +627,15 @@ public class ECTester { } } - if (optOutput != null) { - FileWriter out = new FileWriter(optOutput); - out.write(Util.bytesToHex(perform.getSecret(), false)); - out.close(); + if (out != null) { + out.write(String.format("%d;%d;%s\n", done, perform.getDuration() / 1000000, Util.bytesToHex(perform.getSecret(), false))); } + ++done; } + + if (out != null) + out.close(); } /** @@ -662,6 +670,12 @@ public class ECTester { systemOutLogger.println(Response.toString(prepare)); + FileWriter out = null; + if (optOutput != null) { + out = new FileWriter(optOutput); + out.write("index;time;signature\n"); + } + int retry = 0; int done = 0; while (done < optECDSACount) { @@ -682,13 +696,14 @@ public class ECTester { } } - if (optOutput != null) { - FileWriter out = new FileWriter(optOutput); - out.write(Util.bytesToHex(perform.getSignature(), false)); - out.close(); + if (out != null) { + out.write(String.format("%d;%d;%s\n", done, perform.getDuration() / 1000000, Util.bytesToHex(perform.getSignature(), false))); } + ++done; } + if (out != null) + out.close(); } /** diff --git a/src/cz/crcs/ectester/reader/Response.java b/src/cz/crcs/ectester/reader/Response.java index 28b6c17..e76d35c 100644 --- a/src/cz/crcs/ectester/reader/Response.java +++ b/src/cz/crcs/ectester/reader/Response.java @@ -129,7 +129,7 @@ public abstract class Response { } else { suffix = String.format("%s %s", Util.getPrintError(r.getSW1()), Util.getPrintError(r.getSW2())); } - out.append(String.format("%-55s: %5d ms : %s", message, r.time/1000000, suffix)); + out.append(String.format("%-55s:%5d ms : %s", message, r.time/1000000, suffix)); if (i < responses.size() - 1) { out.append("\n"); } diff --git a/src/cz/crcs/ectester/reader/ec/EC_Curve.java b/src/cz/crcs/ectester/reader/ec/EC_Curve.java index 08a0b8a..273b1f4 100644 --- a/src/cz/crcs/ectester/reader/ec/EC_Curve.java +++ b/src/cz/crcs/ectester/reader/ec/EC_Curve.java @@ -20,6 +20,8 @@ public class EC_Curve extends EC_Params { public EC_Curve(short bits, byte field) { super(field == KeyPair.ALG_EC_FP ? EC_Consts.PARAMETERS_DOMAIN_FP : EC_Consts.PARAMETERS_DOMAIN_F2M); this.bits = bits; + + this.field = field; } public EC_Curve(short bits, byte field, String desc) { |
