aboutsummaryrefslogtreecommitdiff
path: root/src/cz/crcs/ectester/reader
diff options
context:
space:
mode:
Diffstat (limited to 'src/cz/crcs/ectester/reader')
-rw-r--r--src/cz/crcs/ectester/reader/Command.java15
-rw-r--r--src/cz/crcs/ectester/reader/Response.java4
-rw-r--r--src/cz/crcs/ectester/reader/TestSuite.java1
-rw-r--r--src/cz/crcs/ectester/reader/Util.java12
4 files changed, 14 insertions, 18 deletions
diff --git a/src/cz/crcs/ectester/reader/Command.java b/src/cz/crcs/ectester/reader/Command.java
index b65159a..1063767 100644
--- a/src/cz/crcs/ectester/reader/Command.java
+++ b/src/cz/crcs/ectester/reader/Command.java
@@ -21,10 +21,10 @@ import java.util.List;
* @author Jan Jancar johny@neuromancer.sk
*/
public abstract class Command {
- protected CommandAPDU cmd;
- protected CardMngr cardManager;
+ CommandAPDU cmd;
+ CardMngr cardManager;
- protected Command(CardMngr cardManager) {
+ Command(CardMngr cardManager) {
this.cardManager = cardManager;
}
@@ -392,7 +392,7 @@ public abstract class Command {
private byte pubkey;
private byte privkey;
private byte export;
- private byte corruption;
+ private short corruption;
private byte type;
/**
@@ -402,10 +402,10 @@ public abstract class Command {
* @param pubkey keyPair to use for public key, (KEYPAIR_LOCAL || KEYPAIR_REMOTE)
* @param privkey keyPair to use for private key, (KEYPAIR_LOCAL || KEYPAIR_REMOTE)
* @param export whether to export ECDH secret
- * @param corruption whether to invalidate the pubkey before ECDH (EC_Consts.CORRUPTION_* || ...)
+ * @param corruption whether to invalidate the pubkey before ECDH (EC_Consts.CORRUPTION_* | ...)
* @param type ECDH algorithm type (EC_Consts.KA_* | ...)
*/
- protected ECDH(CardMngr cardManager, byte pubkey, byte privkey, byte export, byte corruption, byte type) {
+ protected ECDH(CardMngr cardManager, byte pubkey, byte privkey, byte export, short corruption, byte type) {
super(cardManager);
this.pubkey = pubkey;
this.privkey = privkey;
@@ -413,7 +413,8 @@ public abstract class Command {
this.corruption = corruption;
this.type = type;
- byte[] data = new byte[]{export, corruption, type};
+ byte[] data = new byte[]{export, 0,0, type};
+ Util.setShort(data, 1, corruption);
this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_ECDH, pubkey, privkey, data);
}
diff --git a/src/cz/crcs/ectester/reader/Response.java b/src/cz/crcs/ectester/reader/Response.java
index 89dce9c..50e5022 100644
--- a/src/cz/crcs/ectester/reader/Response.java
+++ b/src/cz/crcs/ectester/reader/Response.java
@@ -454,10 +454,10 @@ public abstract class Response {
private byte pubkey;
private byte privkey;
private byte export;
- private byte corruption;
+ private short corruption;
private byte type;
- protected ECDH(ResponseAPDU response, long time, byte pubkey, byte privkey, byte export, byte corruption, byte type) {
+ protected ECDH(ResponseAPDU response, long time, byte pubkey, byte privkey, byte export, short corruption, byte type) {
super(response, time);
this.pubkey = pubkey;
this.privkey = privkey;
diff --git a/src/cz/crcs/ectester/reader/TestSuite.java b/src/cz/crcs/ectester/reader/TestSuite.java
index 047b7f6..c7c3b21 100644
--- a/src/cz/crcs/ectester/reader/TestSuite.java
+++ b/src/cz/crcs/ectester/reader/TestSuite.java
@@ -59,6 +59,7 @@ public abstract class TestSuite {
List<Command> commands = new LinkedList<>();
commands.add(new Command.Generate(cardManager, ECTesterApplet.KEYPAIR_BOTH));
commands.add(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_NONE, EC_Consts.KA_ECDH));
+ commands.add(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_COMPRESS, EC_Consts.KA_ECDH));
commands.add(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ONE, EC_Consts.KA_ECDH));
commands.add(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_ZERO, EC_Consts.KA_ECDH));
commands.add(new Command.ECDH(cardManager, ECTesterApplet.KEYPAIR_LOCAL, ECTesterApplet.KEYPAIR_REMOTE, ECTesterApplet.EXPORT_FALSE, EC_Consts.CORRUPTION_MAX, EC_Consts.KA_ECDH));
diff --git a/src/cz/crcs/ectester/reader/Util.java b/src/cz/crcs/ectester/reader/Util.java
index 21d4992..986433f 100644
--- a/src/cz/crcs/ectester/reader/Util.java
+++ b/src/cz/crcs/ectester/reader/Util.java
@@ -203,7 +203,7 @@ public class Util {
str = "FILE_NOT_FOUND";
break;
case ISO7816.SW_FUNC_NOT_SUPPORTED:
- str = "FILE_NOT_SUPPORTED";
+ str = "FUNC_NOT_SUPPORTED";
break;
case ISO7816.SW_INCORRECT_P1P2:
str = "INCORRECT_P1P2";
@@ -279,7 +279,7 @@ public class Util {
}
}
- public static String getCorruption(byte corruptionType) {
+ public static String getCorruption(short corruptionType) {
String corrupt;
switch (corruptionType) {
case EC_Consts.CORRUPTION_NONE:
@@ -306,15 +306,9 @@ public class Util {
case EC_Consts.CORRUPTION_INFINITY:
corrupt = "INFINITY";
break;
- case EC_Consts.CORRUPTION_PREFIX_COMPRESSED:
+ case EC_Consts.CORRUPTION_COMPRESS:
corrupt = "COMPRESSED";
break;
- case EC_Consts.CORRUPTION_PREFIX_HYBRID:
- corrupt = "HYBRID";
- break;
- case EC_Consts.CORRUPTION_PREFIX_UNCOMPRESSED:
- corrupt = "UNCOMPRESSED";
- break;
case EC_Consts.CORRUPTION_MAX:
corrupt = "MAX";
break;