diff options
Diffstat (limited to 'src/cz/crcs/ectester/reader')
| -rw-r--r-- | src/cz/crcs/ectester/reader/Command.java | 15 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/Response.java | 4 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/TestSuite.java | 1 | ||||
| -rw-r--r-- | src/cz/crcs/ectester/reader/Util.java | 12 |
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; |
