2010-05-12 4 views
6

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

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

ответ

9

Look at this tutorial + example. И related. (Я использовал эти примеры, и они отлично работают).

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

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

АНИ интерес представляет javax.smartcardio

+0

Я «ничего не могу извлечь из смарт-карты» не означает, что я не могу получить его открытый ключ, надеюсь –

+1

Хорошо, я нашел следующее о: http://www.java2s.com/Open -Source/Java-Document/6.0-JDK-Core/smartcardio/javax.smartcardio.htm –

+0

вы можете получить открытый ключ, да – Bozho

2

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

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

0

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

1

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