diff options
Diffstat (limited to 'src/cz/crcs/ectester/reader/Response.java')
| -rw-r--r-- | src/cz/crcs/ectester/reader/Response.java | 51 |
1 files changed, 43 insertions, 8 deletions
diff --git a/src/cz/crcs/ectester/reader/Response.java b/src/cz/crcs/ectester/reader/Response.java index e76d35c..25b5817 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"); } @@ -202,14 +202,12 @@ public abstract class Response { private byte keyPair; private byte curve; private short parameters; - private short corrupted; - protected Set(ResponseAPDU response, long time, byte keyPair, byte curve, short parameters, short corrupted) { + protected Set(ResponseAPDU response, long time, byte keyPair, byte curve, short parameters) { super(response, time); this.keyPair = keyPair; this.curve = curve; this.parameters = parameters; - this.corrupted = corrupted; int pairs = 0; if ((keyPair & ECTesterApplet.KEYPAIR_LOCAL) != 0) pairs++; @@ -232,13 +230,13 @@ public abstract class Response { name = "custom"; break; } - String key; + String pair; if (keyPair == ECTesterApplet.KEYPAIR_BOTH) { - key = "both keypairs"; + pair = "both keypairs"; } else { - key = ((keyPair == ECTesterApplet.KEYPAIR_LOCAL) ? "local" : "remote") + " keypair"; + pair = ((keyPair == ECTesterApplet.KEYPAIR_LOCAL) ? "local" : "remote") + " keypair"; } - return String.format("Set %s curve parameters on %s", name, key); + return String.format("Set %s curve parameters on %s", name, pair); } } @@ -246,6 +244,43 @@ public abstract class Response { /** * */ + public static class Corrupt extends Response { + private byte keyPair; + private byte key; + private short params; + private byte corruption; + + protected Corrupt(ResponseAPDU response, long time, byte keyPair, byte key, short params, byte corruption) { + super(response, time); + this.keyPair = keyPair; + this.key = key; + this.params = params; + this.corruption = corruption; + + int pairs = 0; + if ((keyPair & ECTesterApplet.KEYPAIR_LOCAL) != 0) pairs++; + if ((keyPair & ECTesterApplet.KEYPAIR_REMOTE) != 0) pairs++; + + parse(pairs, 0); + } + + @Override + public String toString() { + String corrupt = Util.getCorruption(corruption); + + String pair; + if (keyPair == ECTesterApplet.KEYPAIR_BOTH) { + pair = "both keypairs"; + } else { + pair = ((keyPair == ECTesterApplet.KEYPAIR_LOCAL) ? "local" : "remote") + " keypair"; + } + return String.format("Corrupted params of %s, %s", pair, corrupt); + } + } + + /** + * + */ public static class Generate extends Response { private byte keyPair; |
