Доступ к смарт-карте с помощью Java - PullRequest
6 голосов
/ 12 мая 2010

Я пытаюсь узнать, как Java получает доступ к смарт-картам из-за анализа проекта. Интересно, есть ли какая-нибудь виртуальная смарт-карта, которую я мог бы использовать для тестирования на Java?

Кстати, я читал о Java Card, и похоже, что она используется для запуска Java в картах, а не для доступа к данным смарт-карт с помощью Java, верно?

Ответы [ 5 ]

9 голосов
/ 12 мая 2010

Посмотрите на этот урок + пример . И связаны . (Я использовал эти примеры, и они отлично работают).

Важным моментом является то, что вы ничего не можете извлечь из смарт-карты. Вы можете отправлять вещи только на свой процессор. Поэтому всякий раз, когда вы получаете объект PrivateKey, на самом деле у вас нет закрытого ключа - это всего лишь прокси для процессора SmartCard, и вызов методов для него вызывает процессор.

Я не знаю о виртуальных смарт-картах.

API интереса javax.smartcardio

2 голосов
/ 26 ноября 2010

Существует эмулятор Java-карты в комплекте с Java Card Development Kit . Если вы планируете использовать реальную карту на каком-то этапе, получите версию 2.2.1 или 2.2.2, так как я не ожидаю каких-либо карт версии 3 некоторое время. Вам все еще понадобится апплет, чтобы положить на карту. Ява карта сама по себе ничего не делает. Пока вы не загрузите карточный апплет, он будет выполнять какую-либо полезную функцию.

Одна проблема с эмулятором в JCDK состоит в том, что вы не можете использовать javax.smartcardio для доступа к карте, и в настоящее время это предпочтительный способ связи с картой. Другая популярная альтернатива, OpenCard Framework, в течение некоторого времени активно не поддерживалась.

1 голос
/ 29 мая 2015

Javacard использует Java только подмножество разработки Java. Вам лучше не использовать среду разработки Java, потому что некоторые специальные эффекты не поддерживаются Вы можете загрузить плагин или специальную среду разработки, вы можете скачать его здесь www.javacos.com, относящуюся к среде разработки.

1 голос
/ 22 октября 2011

Вы можете получить виртуальную смарт-карту (и виртуальный ридер) здесь: http://sourceforge.net/projects/vsmartcard/

0 голосов
/ 04 июля 2012

Если вам нужно эмулировать JavaCard, попробуйте использовать jCardSim: http://jcardsim.org. Он также поддерживает доступ через API javax.smartcardio и apdu-scripts.

...