Rus Eng
Решения
Технологии
Дискуссии
Компания
 
Rambler's Top100
©Copyright iNetique
info@inetique.ru

 

Java Card API

Java Card API обеспечивает набор пользовательских классов для программирования смарт-карт в соответствии с моделью ISO 7816. API содержит три базовых пакета и один дополнительный пакет для криптографии. Базовые пакеты: java.lang, javacard.framework, и javacard.security . Дополнительный пакет есть javacardx.crypto.

В основном, пакеты построены на основе соответствующих пакетов полной спецификации Java. Дополнительные методы включены для поддержки стандарта ISO 7816.

 

Пакет java.lang

Пакет java.lang есть строгое подмножество одноименного пакета в полной спецификации Java. Поддерживаются классы Object , Throwable, а также некоторые исключительные ситуации, такие как IndexOutOfBoundsException,
NullPointerException и т.п.

Для поддерживаемых классов реализованы далеко не все методы из полной спецификации Java. Например, класс Object поддерживает только конструкторы по умолчанию. Вместе с тем, идеология языка полностью сохраняется. Так класс Object является корневым объектом для всех классов, а класс Throwable является общим предком для всех исключений.

 

Пакет javacard.framework

Пакет javacard.framework является основным для реализации логики апплетов. Именно в этом классе определяется базовый класс Applet, который поддерживает оболочку для исполнения апплетов в среде JCRE. Этот класс является аналогом класса Applet в полной спецификации Java. Пользовательский класс должен расширять этот базовый класс и переопределять его методы для реализации собственной бизнес-логики. Как и любой постоянный объект, после запуска, апплет будет все время находиться на карте. Внутри одной карты может находиться несколько апплетов. Каждый апплет (класс) может быть представлен несколькими объектами данного типа.
Другим важным классом пакета является класс APDU. Этот класс обеспечивает поддержку коммуникационного протокола. Иными словами класс APDU  обеспечивает передачу данных между апплетом и хост-программой. Два стандартных протокола именуются T=0 и T=1. APDU класс позволяет скрыть реализацию протоколов от апплета.
Класс java.lang.System не поддерживается в Java Card. Вместо этого платформа Java Card поддерживает класс javacard.framework.JCSystem, который обеспечивает интерфейс для системных функций, таких как управление исполнением апплета, управление ресурсами и транзакциями, а также передача данных между апплетами.
Другим важным классом пакета является такой класс как PIN. PIN (personal identification number) используется для реализации паролей.

 

Пакет javacard.security

Пакет обеспечивает базовую оболочку для криптографических функций. Пакет базируется на стандартном пакете Java java.security.

Пакет javacard.security определяет базовый класс keyBuilder и различные интерфейсы, используемые для вычисления ключей в симметричных (DES) и асимметричных (DSA, RSA) алгоритмах. Также поддерживаются абстрактные базовые классы RandomData , Signature и MessageDigest, которые используются для генерации случайных чисел и цифровых подписей.