Java-приложение считывает данные с карт-ридера - PullRequest
4 голосов
/ 15 января 2011

Если кто-то хочет написать приложение Java, которое взаимодействует с физическим устройством, в частности, с ридером (например, когда вы идете в отель, тренажерный зал, банк и т. Д., И вы передаете карту через ридер, и приложение находит вас база данных) как это сделать?
Есть ли Java-интерфейс для взаимодействия с читателем и получения данных карт?
Когда компания создает ридер (физическое устройство), предоставляет ли он соответствующий API?
Физические детали абстрагированы от программиста приложения?
Мне нужно общаться с читателем в Java, но я не знаю, как начать.
Любые пожелания приветствуются!

Спасибо

Ответы [ 3 ]

4 голосов
/ 15 января 2011

Вы можете начать играть с пакетом javax.smartcardio .

Это официальный продукт Oracle, позволяющий взаимодействовать со смарт-картами. Это не решает общую проблему связи с устройством (в Unix просто откройте /dev/whatever0 с правами доступа, поскольку это был файл), но может помочь вам в сценарии вашей смарт-карты.

3 голосов
/ 15 января 2011

Это зависит от платформы.Например, ORACLE сообщает Java Communications 3.0 API для работы с:

Java Communications API (также известный как javax.comm) предоставляет приложениям доступ к оборудованию RS-232 (последовательные порты)) и ограниченный доступ к IEEE-1284 (параллельные порты), режим SPP.

Это может дать вам старт.

0 голосов
/ 02 апреля 2011

Здесь у вас есть универсальные драйверы USB для считывателей смарт-карт, а также демон, который может определять, когда подключены новые считыватели, и некоторая диагностическая информация, когда считыватели инициируют соединение со смарт-картой (либо через контакт, либо бесконтактно / NFC). ). http://www.linuxnet.com/

Затем jpcsc можно использовать в качестве java API для карты, чтобы вы могли читать и писать. Вы абстрагированы от оборудования считывателя, но вам все еще нужно много знать о специфике смарт-карты - какой версии Javacard / GlobalPlatform она использует, какие ключи шифрования используются, если вы хотите установить безопасное соединение, и т.д.

Или вы можете купить полную среду разработки, включая карту, ридер и IDE (обычно основанную на Eclipse), у производителя смарт-карт, такого как G & D, Oberthur, Gemalto ...

...