| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Чтение smart карты |
| Автор: m1ha 27.9.2008, 04:43 |
| Требуется попросить пользователя вставить smart карту и считать из неё некоторые данные, всё это делается через web. Кто нибудь с этим уже сталкивался ? |
| Автор: v2v 27.9.2008, 09:03 |
| Вас интересует конкретная реализация или как принципиально такое делается? http://forum.vingrad.ru/forum/topic-192017/unread-1/kw-%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F-%D0%BA%D0%BD%D0%B8%D0%B3%D0%B8-%D1%81%D1%82%D0%B0%D1%82%D1%8C%D0%B8-java-card.html |
| Автор: m1ha 27.9.2008, 10:17 | ||
на сколько я знаю JAVA CARD это jvm работающая на smart карте, программировать smart карту я пока не собираюсь. Мне нужно знать с помощью каких инструментов я смогу из browser'a пользователя считать данные из его smart карты, которая вставленна в его card reader. Если кто-то расскажет хотя бы общие принципы, то тоже буду благодарен. |
| Автор: Alexandr87 27.9.2008, 15:05 | ||
Считать данные со смарт карты можно несколькими способами: 1. PKCS#11. Высокоуровневый стандарт для работы с токенами, смарт-карточками, HSM. Требует наличие установленной на компьютере клиента библиотеки от изготовителя карточки. Не ко всем карточкам делают библиотеки, реализующие PKCS#11 интерфейс. Для работы с PKCS#11 в Java есть реализация крипто-провайдера JCA. Когда я с ним работал (года 2 назад), он был довольно таки ограничен в функциях, ну и соотвественно работать можно было только с ключами, если у вас там храниться блоб данных, доступ к нему не получишь. Но, как составная часть этого провайдера есть wrapper для PKCS#11 библиотек sun.security.pkcs11.wrapper, через который можно работать с карточкой по PKCS#11. 2. Обмен низкоуровневыми APDU командами. Никаких дополнительных библиотек не требуется. С готовыми карточками я через этот интерфейс не работал. Подозреваю, что есть какой-то стандарт APDU команд для выполнения основных операций с карточками. Работать с APDU из Java 6 можно с помощью классов пакета javax.smartcardio. 3. Через специализированные библиотеки изготовителя карточек. Для некоторых карточек видел такие библиотеки для Java. На край - можно через JNI работать и с dll. К недостаткам можно отнести не универсальность - работать можно будет только с одним типом карточек, или карточками определённого изготовителя. Клиентская часть, естественно, Java Applet. |