aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2017-11-05 17:09:20 +0100
committerJ08nY2017-11-05 17:09:20 +0100
commit45c555818a7bf2765434f2494d56a31af7dc6cfa (patch)
tree552fd199ca07aea632608d9a7cb7aeec0dffb67b
parent67f1f281228245d1b4e4b3b6b750aa00ffed9970 (diff)
downloadECTester-45c555818a7bf2765434f2494d56a31af7dc6cfa.tar.gz
ECTester-45c555818a7bf2765434f2494d56a31af7dc6cfa.tar.zst
ECTester-45c555818a7bf2765434f2494d56a31af7dc6cfa.zip
-rw-r--r--src/cz/crcs/ectester/reader/output/TextTestWriter.java2
-rw-r--r--src/cz/crcs/ectester/reader/response/Response.java17
2 files changed, 15 insertions, 4 deletions
diff --git a/src/cz/crcs/ectester/reader/output/TextTestWriter.java b/src/cz/crcs/ectester/reader/output/TextTestWriter.java
index 6fbfce7..bcebcd5 100644
--- a/src/cz/crcs/ectester/reader/output/TextTestWriter.java
+++ b/src/cz/crcs/ectester/reader/output/TextTestWriter.java
@@ -12,7 +12,7 @@ public class TextTestWriter implements TestWriter {
private PrintStream output;
private ResponseWriter respWriter;
- public static int BASE_WIDTH = 72;
+ public static int BASE_WIDTH = 76;
public TextTestWriter(PrintStream output) {
this.output = output;
diff --git a/src/cz/crcs/ectester/reader/response/Response.java b/src/cz/crcs/ectester/reader/response/Response.java
index 1906811..42629b4 100644
--- a/src/cz/crcs/ectester/reader/response/Response.java
+++ b/src/cz/crcs/ectester/reader/response/Response.java
@@ -7,7 +7,6 @@ import javacard.framework.ISO7816;
import javacard.security.KeyPair;
import javax.smartcardio.ResponseAPDU;
-import java.util.List;
/**
* @author Jan Jancar johny@neuromancer.sk
@@ -21,6 +20,7 @@ public abstract class Response {
private byte[][] params;
//TODO replace params with EC_Data?
private boolean success = true;
+ private boolean error = false;
public Response(ResponseAPDU response, long time) {
this.resp = response;
@@ -45,22 +45,28 @@ public abstract class Response {
}
} else {
success = false;
+ error = true;
}
}
- if ((short) resp.getSW() != ISO7816.SW_NO_ERROR)
+ if ((short) resp.getSW() != ISO7816.SW_NO_ERROR) {
success = false;
+ error = true;
+ }
+
//try to parse numParams..
params = new byte[numParams][];
for (int i = 0; i < numParams; i++) {
if (data.length - offset < 2) {
success = false;
+ error = true;
break;
}
short paramLength = Util.getShort(data, offset);
offset += 2;
if (data.length < offset + paramLength) {
+ error = true;
success = false;
break;
}
@@ -114,6 +120,10 @@ public abstract class Response {
return this.success;
}
+ public boolean error() {
+ return this.error;
+ }
+
public abstract String getDescription();
/**
@@ -121,6 +131,7 @@ public abstract class Response {
*/
public static class AllocateKeyAgreement extends Response {
byte kaType;
+
public AllocateKeyAgreement(ResponseAPDU response, long time, byte kaType) {
super(response, time);
this.kaType = kaType;
@@ -134,7 +145,7 @@ public abstract class Response {
}
}
-
+
public static class Allocate extends Response {
private byte keyPair;