diff options
| author | J08nY | 2017-06-02 00:47:35 +0200 |
|---|---|---|
| committer | J08nY | 2017-06-02 00:47:35 +0200 |
| commit | 7cc7c46edc4fc788c4ce2e7aaf64d01b645629d0 (patch) | |
| tree | 97ca0ca568a0afe11884fed999602a2d02132a1f /src/cz/crcs/ectester/reader/Command.java | |
| parent | dc05a5025543f14c633f663f2b366ab3b53b45da (diff) | |
| download | ECTester-7cc7c46edc4fc788c4ce2e7aaf64d01b645629d0.tar.gz ECTester-7cc7c46edc4fc788c4ce2e7aaf64d01b645629d0.tar.zst ECTester-7cc7c46edc4fc788c4ce2e7aaf64d01b645629d0.zip | |
Diffstat (limited to 'src/cz/crcs/ectester/reader/Command.java')
| -rw-r--r-- | src/cz/crcs/ectester/reader/Command.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/cz/crcs/ectester/reader/Command.java b/src/cz/crcs/ectester/reader/Command.java index 6c2b769..5b7be01 100644 --- a/src/cz/crcs/ectester/reader/Command.java +++ b/src/cz/crcs/ectester/reader/Command.java @@ -429,6 +429,41 @@ public abstract class Command { } } + /** + * + */ + public static class ECDH_direct extends Command { + private byte privkey; + private byte export; + private short corruption; + private byte type; + private byte[] pubkey; + + protected ECDH_direct(CardMngr cardManager, byte privkey, byte export, short corruption, byte type, byte[] pubkey) { + super(cardManager); + this.privkey = privkey; + this.export = export; + this.corruption = corruption; + this.type = type; + this.pubkey = pubkey; + + byte[] data = new byte[3 + pubkey.length]; + Util.setShort(data, 0, corruption); + data[2] = type; + System.arraycopy(pubkey, 0, data, 3, pubkey.length); + + this.cmd = new CommandAPDU(ECTesterApplet.CLA_ECTESTERAPPLET, ECTesterApplet.INS_ECDH_DIRECT, privkey, export, data); + } + + @Override + public Response.ECDH send() throws CardException { + long elapsed = -System.nanoTime(); + ResponseAPDU response = cardManager.send(cmd); + elapsed += System.nanoTime(); + return new Response.ECDH(response, elapsed, ECTesterApplet.KEYPAIR_REMOTE, privkey, export, corruption, type); + } + } + public static class ECDSA extends Command { private byte keyPair; private byte export; |
