diff options
| author | J08nY | 2018-07-03 23:35:03 +0200 |
|---|---|---|
| committer | J08nY | 2018-07-03 23:35:03 +0200 |
| commit | 4db61445a293fd98a1c023df6ede143eeb88b84b (patch) | |
| tree | a14d35f2a988dafe0af20b12d3b8d93ad6ef7c05 | |
| parent | 01d3f6474462955ebf14cd7ba71a430eef54d095 (diff) | |
| download | ECTester-4db61445a293fd98a1c023df6ede143eeb88b84b.tar.gz ECTester-4db61445a293fd98a1c023df6ede143eeb88b84b.tar.zst ECTester-4db61445a293fd98a1c023df6ede143eeb88b84b.zip | |
| -rw-r--r-- | nbproject/dist-build.xml | 5 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/ECTesterReader.java | 26 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/TextTestWriter.java | 2 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/XMLTestWriter.java | 2 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/YAMLTestWriter.java | 2 |
5 files changed, 29 insertions, 8 deletions
diff --git a/nbproject/dist-build.xml b/nbproject/dist-build.xml index c317d95..b1bfadf 100644 --- a/nbproject/dist-build.xml +++ b/nbproject/dist-build.xml @@ -10,6 +10,10 @@ <tempfile property="temp.file" destDir="${java.io.tmpdir}" suffix=".jar"/> <tempfile property="temp.previous_jar" destdir="${java.io.tmpdir}" suffix=".jar"/> + <exec executable="git" outputproperty="git.commit" failifexecutionfails="false"> + <arg line="rev-parse --short HEAD"/> + </exec> + <copy file="${store.jar}" tofile="${temp.previous_jar}" failonerror="false"/> <echo message="Backed up ${store.jar} into ${temp.previous_jar}"/> @@ -20,6 +24,7 @@ <manifest> <attribute name="Main-Class" value="${main.class}"/> + <attribute name="Git-Commit" value="${git.commit}"/> </manifest> </jar> diff --git a/src/cz/crcs/ectester/reader/ECTesterReader.java b/src/cz/crcs/ectester/reader/ECTesterReader.java index 7dc11fa..ab022dd 100644 --- a/src/cz/crcs/ectester/reader/ECTesterReader.java +++ b/src/cz/crcs/ectester/reader/ECTesterReader.java @@ -26,7 +26,6 @@ import cz.crcs.ectester.applet.ECTesterApplet; import cz.crcs.ectester.applet.EC_Consts; import cz.crcs.ectester.common.cli.CLITools; import cz.crcs.ectester.common.cli.Colors; -import cz.crcs.ectester.common.ec.EC_Curve; import cz.crcs.ectester.common.ec.EC_Params; import cz.crcs.ectester.common.output.OutputLogger; import cz.crcs.ectester.common.output.TestWriter; @@ -45,11 +44,14 @@ import org.apache.commons.cli.*; import javax.smartcardio.CardException; import javax.xml.parsers.ParserConfigurationException; import java.io.*; +import java.net.URL; +import java.net.URLClassLoader; import java.nio.file.Files; import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.Scanner; +import java.util.jar.Manifest; import static cz.crcs.ectester.applet.EC_Consts.KeyAgreement_ALG_EC_SVDP_DH; import static cz.crcs.ectester.applet.EC_Consts.Signature_ALG_ECDSA_SHA; @@ -69,16 +71,30 @@ public class ECTesterReader { private Options opts = new Options(); public static final String VERSION = "v0.2.0"; - private static final String DESCRIPTION = "ECTesterReader " + VERSION + ", a javacard Elliptic Curve Cryptography support tester/utility."; - private static final String LICENSE = "MIT Licensed\nCopyright (c) 2016-2018 Petr Svenda <petr@svenda.com>"; - private static final String CLI_HEADER = "\n" + DESCRIPTION + "\n\n"; - private static final String CLI_FOOTER = "\n" + LICENSE; + public static String GIT_COMMIT = ""; + private static String DESCRIPTION; + private static String LICENSE = "MIT Licensed\nCopyright (c) 2016-2018 Petr Svenda <petr@svenda.com>"; + private static String CLI_HEADER; + private static String CLI_FOOTER = "\n" + LICENSE; private static final byte[] SELECT_ECTESTERAPPLET = {(byte) 0x00, (byte) 0xa4, (byte) 0x04, (byte) 0x00, (byte) 0x0a, (byte) 0x45, (byte) 0x43, (byte) 0x54, (byte) 0x65, (byte) 0x73, (byte) 0x74, (byte) 0x65, (byte) 0x72, (byte) 0x30, (byte) 0x31}; private static final byte[] AID = {(byte) 0x45, (byte) 0x43, (byte) 0x54, (byte) 0x65, (byte) 0x73, (byte) 0x74, (byte) 0x65, (byte) 0x72, (byte) 0x30, (byte) 0x31}; private static final byte[] INSTALL_DATA = new byte[10]; + static { + URLClassLoader cl = (URLClassLoader) ECTesterReader.class.getClassLoader(); + try { + URL url = cl.findResource("META-INF/MANIFEST.MF"); + Manifest manifest = new Manifest(url.openStream()); + String commit = manifest.getMainAttributes().getValue("Git-Commit"); + GIT_COMMIT = (commit == null) ? "" : "(git " + commit + ")"; + } catch (Exception ignored) { } + + DESCRIPTION = "ECTesterReader " + VERSION + GIT_COMMIT + ", a javacard Elliptic Curve Cryptography support tester/utility."; + CLI_HEADER = "\n" + DESCRIPTION + "\n\n";; + } + private void run(String[] args) { try { CommandLine cli = parseArgs(args); diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java index 1dd21ae..35d0900 100644 --- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java @@ -42,7 +42,7 @@ public class TextTestWriter extends BaseTextTestWriter { if (suite instanceof CardTestSuite) { CardTestSuite cardSuite = (CardTestSuite) suite; StringBuilder sb = new StringBuilder(); - sb.append("═══ ECTester version: " + ECTesterReader.VERSION).append(System.lineSeparator()); + sb.append("═══ ECTester version: " + ECTesterReader.VERSION + ECTesterReader.GIT_COMMIT).append(System.lineSeparator()); sb.append("═══ Card ATR: ").append(ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false)).append(System.lineSeparator()); try { CardMngr.CPLC cplc = cardSuite.getCard().getCPLC(); diff --git a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java index 14b7763..00cc6c6 100644 --- a/src/cz/crcs/ectester/reader/output/XMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/XMLTestWriter.java @@ -114,7 +114,7 @@ public class XMLTestWriter extends BaseXMLTestWriter { CardTestSuite cardSuite = (CardTestSuite) suite; Element result = doc.createElement("device"); result.setAttribute("type", "card"); - result.setAttribute("ectester", ECTesterReader.VERSION); + result.setAttribute("ectester", ECTesterReader.VERSION + ECTesterReader.GIT_COMMIT); result.appendChild(cplcElement(cardSuite.getCard())); Element atr = doc.createElement("ATR"); diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java index 820521d..080fa8b 100644 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java @@ -86,7 +86,7 @@ public class YAMLTestWriter extends BaseYAMLTestWriter { CardTestSuite cardSuite = (CardTestSuite) suite; Map<String, Object> result = new LinkedHashMap<>(); result.put("type", "card"); - result.put("ectester", ECTesterReader.VERSION); + result.put("ectester", ECTesterReader.VERSION + ECTesterReader.GIT_COMMIT); result.put("cplc", cplcObject(cardSuite.getCard())); result.put("ATR", ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false)); return result; |
