Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import javax.smartcardio.*;
- import java.util.List;
- public class Main {
- public static void main(String[] args) {
- try {
- // Display the list of terminals
- TerminalFactory factory = TerminalFactory.getDefault();
- List<CardTerminal> terminals = factory.terminals().list();
- System.out.println("Terminals: " + terminals);
- // Use the first terminal
- CardTerminal terminal = terminals.get(0);
- // Connect wit hthe card
- Card card = terminal.connect("*");
- System.out.println("card: " + card);
- CardChannel channel = card.getBasicChannel();
- // get the ATR
- ATR atr = card.getATR();
- byte[] baAtr = atr.getBytes();
- System.out.print("ATR = 0x");
- for(int i = 0; i < baAtr.length; i++ ){
- System.out.printf("%02X ",baAtr[i]);
- }
- System.out.println();
- // Send Select Applet command
- //byte[] aid = {(byte)0xA0, 0x00, 0x00, 0x00, 0x62, 0x03, 0x01, 0x0C, 0x06, 0x01};
- //ResponseAPDU answer = channel.transmit(new CommandAPDU(0x00, 0xA4, 0x04, 0x00, aid));
- //System.out.println("answer1: " + answer.toString());
- // Send test command
- ResponseAPDU answer = channel.transmit(new CommandAPDU(0xFF, 0xCA, 0x00, 0x00, 0x00));
- System.out.println("answer: " + answer.toString());
- byte r[] = answer.getData();
- String s = new String(r);
- System.out.println("s: " + s + "| length" + r.length);
- for (int i=0; i<r.length; i++) {
- System.out.print("test" + (char)r[i]);
- }
- System.out.println();
- // Disconnect the card
- card.disconnect(false);
- } catch(Exception e) {
- System.out.println("Ouch: " + e.toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement