Skip to content

Instantly share code, notes, and snippets.

@brake
Created May 31, 2017 16:52
Show Gist options
  • Save brake/603c192a7a9cc2804573ee5ef49afcee to your computer and use it in GitHub Desktop.
Save brake/603c192a7a9cc2804573ee5ef49afcee to your computer and use it in GitHub Desktop.
Typical Java SmartCard workflow
TerminalFactory terminalFactory = TerminalFactory.getDefault();
CardTerminals terminals = terminalFactory.terminals();
List<CardTerminal> terminalsList = terminals.list();
CardTerminal terminal = terminalsList.get(0);
Card card = terminal.connect("T0");
CardChannel channel = card.getBasicChannel();
CommandAPDU apdu = new CommandAPDU(...);
ResponseAPDU response = channel.transmit(apdu);
// don’t call close() on basic channel, call Card.disconnect() instead
card.disconnect(false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment