Я использую javax.smartcardio
для отправки команды APDU на смарт-карту через CardChannel.transmit(CommandAPDU command)
.Java smartcardio Время отклика APDU
Однако кажется, что есть тайм-аут где-то определенно, поскольку я всегда получаю sun.security.smartcardio.PCSCException: Unknown error 0x8010002f
, когда я не получаю ответ APDU со смарт-карты.
Это происходит, когда я хотел бы сгенерировать ключ, который занимает более 60 секунд, и он всегда терпит неудачу через 60 секунд. Каждая другая команда для генерации ключа меньшей длины бит, которая занимает менее 60 секунд, отлично работает.
Я пытался найти причину этого исключения, но я действительно не знаю. Является ли это Java конкретным, или я должен смотреть в другое место?
Такое поведение на рабочем столе Windows 7 x64 с Java 8. Что интересно на другой рабочий стол с той же ОС и генерации версий Java прекрасно работает без каких-либо исключений ...
Как вы отправляете такой WTX на карту? – codenamezero
@codenamezero: Непонимание: карта должна попросить читателя продлить время ожидания, поэтому он выполняет таймаут и перезапускает соединение. – guidot