2016-03-01 12 views
1

Я использовал следующие в коде для подключения карты и получить каналКак определить протокол Java-карты (T = 0 или T = 1) с использованием технологии Java-карты?

card = terminal.connect("T=1"); 
channel = card.getBasicChannel(); 

Здесь Т = 1, т.е. протокол жестко. Есть ли способ, с помощью которого можно найти протокол карты, вставленной в устройство для чтения карт?

javacard.framework.APDU имеет метод getProtocol(), но мне нужен протокол во время connecting с картой.

ответ

2

Из Javadoc из CardTerminal.connect(String protocol)

протокола - протокол использовать ("T = 0", "Т = 1", или "Т = CL"), или "*", чтобы подключиться с использованием любого доступного протокола.

Так что, похоже, вы можете использовать подстановочный знак.

+0

Или он может использовать 'try .... catch'. _T = 1_ является самым новым. Поэтому он может попробовать _T = 1_, а если не удалось, попробуйте _T = 0_, а затем _T = CL_. – Abraham