diff options
| author | J08nY | 2017-03-09 00:46:35 +0100 |
|---|---|---|
| committer | J08nY | 2017-03-09 00:46:35 +0100 |
| commit | ea77f29683c8721ae1581b76f3f6b83ee26720bc (patch) | |
| tree | 8b8c432e6913e17329f09668349d796435914e05 /src | |
| parent | c6cb9f4cda4391713bd59cc1e1e7cae8d50cf331 (diff) | |
| download | ECTester-ea77f29683c8721ae1581b76f3f6b83ee26720bc.tar.gz ECTester-ea77f29683c8721ae1581b76f3f6b83ee26720bc.tar.zst ECTester-ea77f29683c8721ae1581b76f3f6b83ee26720bc.zip | |
Diffstat (limited to 'src')
| -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 |
4 files changed, 47 insertions, 13 deletions
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) { |
