diff options
| author | J08nY | 2024-03-22 23:58:55 +0100 |
|---|---|---|
| committer | J08nY | 2024-03-25 14:52:43 +0100 |
| commit | 73af477a8774e1ede5dd8de6491eb353dc0b12bd (patch) | |
| tree | 2d4e3b19bc5fb55308b886032312be76341736d4 /src/cz/crcs/ectester/reader/output/YAMLTestWriter.java | |
| parent | 64b95fa059295e1dc23371c849f2302c1c18f5b4 (diff) | |
| download | ECTester-73af477a8774e1ede5dd8de6491eb353dc0b12bd.tar.gz ECTester-73af477a8774e1ede5dd8de6491eb353dc0b12bd.tar.zst ECTester-73af477a8774e1ede5dd8de6491eb353dc0b12bd.zip | |
Basic Gradle setup.
Diffstat (limited to 'src/cz/crcs/ectester/reader/output/YAMLTestWriter.java')
| -rw-r--r-- | src/cz/crcs/ectester/reader/output/YAMLTestWriter.java | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java b/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java deleted file mode 100644 index 56ecb71..0000000 --- a/src/cz/crcs/ectester/reader/output/YAMLTestWriter.java +++ /dev/null @@ -1,119 +0,0 @@ -package cz.crcs.ectester.reader.output; - -import cz.crcs.ectester.common.output.BaseYAMLTestWriter; -import cz.crcs.ectester.common.test.TestSuite; -import cz.crcs.ectester.common.test.Testable; -import cz.crcs.ectester.common.util.ByteUtil; -import cz.crcs.ectester.reader.CardMngr; -import cz.crcs.ectester.reader.ECTesterReader; -import cz.crcs.ectester.reader.command.Command; -import cz.crcs.ectester.reader.response.Response; -import cz.crcs.ectester.reader.test.CardTestSuite; -import cz.crcs.ectester.reader.test.CommandTestable; - -import javax.smartcardio.CardException; -import java.io.PrintStream; -import java.util.LinkedHashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -/** - * @author Jan Jancar johny@neuromancer.sk - */ -public class YAMLTestWriter extends BaseYAMLTestWriter { - public YAMLTestWriter(PrintStream output) { - super(output); - } - - private Map<String, Object> commandObject(Command c) { - Map<String, Object> commandObj = new LinkedHashMap<>(); - if (c == null) { - return commandObj; - } - commandObj.put("apdu", ByteUtil.bytesToHex(c.getAPDU().getBytes())); - commandObj.put("desc", c.getDescription()); - return commandObj; - } - - private Map<String, Object> responseObject(Response r) { - Map<String, Object> responseObj = new LinkedHashMap<>(); - if (r == null) { - return responseObj; - } - responseObj.put("successful", r.successful()); - responseObj.put("apdu", ByteUtil.bytesToHex(r.getAPDU().getBytes())); - responseObj.put("natural_sw", Short.toUnsignedInt(r.getNaturalSW())); - List<Integer> sws = new LinkedList<>(); - for (int i = 0; i < r.getNumSW(); ++i) { - sws.add(Short.toUnsignedInt(r.getSW(i))); - } - responseObj.put("sws", sws); - responseObj.put("duration", r.getDuration()); - responseObj.put("desc", r.getDescription()); - return responseObj; - } - - @Override - protected Map<String, Object> testableObject(Testable t) { - if (t instanceof CommandTestable) { - CommandTestable cmd = (CommandTestable) t; - Map<String, Object> result = new LinkedHashMap<>(); - result.put("type", "command"); - result.put("command", commandObject(cmd.getCommand())); - result.put("response", responseObject(cmd.getResponse())); - return result; - } - return null; - } - - private Map<String, Object> cplcObject(CardMngr card) { - Map<String, Object> result = new LinkedHashMap<>(); - try { - CardMngr.CPLC cplc = card.getCPLC(); - if (!cplc.values().isEmpty()) { - for (Map.Entry<CardMngr.CPLC.Field, byte[]> entry : cplc.values().entrySet()) { - CardMngr.CPLC.Field field = entry.getKey(); - byte[] value = entry.getValue(); - result.put(field.name(), ByteUtil.bytesToHex(value, false)); - } - } - } catch (CardException ignored) { - } - return result; - } - - private Map<String, Object> appletObject(CardMngr card) { - Map<String, Object> result = new LinkedHashMap<>(); - try { - Response.GetInfo info = new Command.GetInfo(card).send(); - result.put("version", info.getVersion()); - result.put("javacard", info.getJavaCardVersion()); - result.put("base", info.getBase()); - result.put("cleanup", info.getCleanupSupport()); - Map<String, Integer> arrays = new LinkedHashMap<>(); - arrays.put("apduBuf", Short.toUnsignedInt(info.getApduBufferLength())); - arrays.put("ramArray", Short.toUnsignedInt(info.getRamArrayLength())); - arrays.put("ramArray2", Short.toUnsignedInt(info.getRamArray2Length())); - arrays.put("apduArray", Short.toUnsignedInt(info.getApduArrayLength())); - result.put("arrays", arrays); - } catch (CardException ignored) { - } - return result; - } - - @Override - protected Map<String, Object> deviceObject(TestSuite suite) { - if (suite instanceof CardTestSuite) { - CardTestSuite cardSuite = (CardTestSuite) suite; - Map<String, Object> result = new LinkedHashMap<>(); - result.put("type", "card"); - result.put("ectester", ECTesterReader.VERSION + ECTesterReader.GIT_COMMIT); - result.put("cplc", cplcObject(cardSuite.getCard())); - result.put("applet", appletObject(cardSuite.getCard())); - result.put("ATR", ByteUtil.bytesToHex(cardSuite.getCard().getATR().getBytes(), false)); - return result; - } - return null; - } -} |
