Пример практического осуществления управления приложением карты
B.1 Введение
Данный пример показывает двухступенчатую модель создания и активации приложения: вначале установка кода приложения, затем установка и активация экземпляра приложения.
Примечание - Данную модель использует GlobalPlatform (GP).
Приложение составляет код приложения и данные приложения. Код приложения (но не данные приложения) устанавливается в карту с помощью объекта "Load". При инсталляции приложения создается экземпляр объекта "Load" и, возможно, некоторые данные приложения.
В данном примере создание и активация приложения требуют дополнительно:
- предыдущую аутентификацию системы управления приложением для карт (CAMS);
- защиту команд и запросов с помощью безопасного обмена сообщениями;
- проверку сертификатов эмитентов карт.
B.2 Команды для управления приложением
B.2.1 Команда APPLICATION MANAGEMENT REQUEST
Команда APPLICATION MANAGEMENT REQUEST выдается для того, чтобы запустить и выполнить различные шаги для установки объекта "Load" и инициализации и активации экземпляра приложения.
Таблица B.1 - Пара команда-ответ APPLICATION MANAGEMENT REQUEST
CLA | По ИСО/МЭК 7816-4 |
INS | '40' |
P1 | Контроль целевого состояния жизненного цикла приложения: см. таблицу B.2 |
P2 | Контроль управления приложением: см. таблицу B.3 |
Поле | Число байт в поле данных команды |
Поле данных | Информация о запросе на управление приложением |
Поле | Отсутствует для кодирования |
Поле данных | Отсутствует или информация о подтверждении управления приложением |
SW1-SW2 | См. ИСО/МЭК 7816-4:2005, таблицы 6 и 7 в соответствующих случаях, например '6982', '6985' |
Параметр P1 в команде APPLICATION MANAGEMENT REQUEST описывает назначение команды и закодирован в соответствии с таблицей B.2.
Таблица B.2 - Контроль целевого состояния жизненного цикла приложения в P1
b8 | b7 | b6 | b5 | b4 | b3 | b2 | b1 | Значение |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | Переход из состояния "Создание" в состояние "Рабочее Активированное" |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Переход из состояния "Инициализация" в состояние "Рабочее Активированное" |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | Переход из состояния "Создание" в состояние "Инициализация" |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Переход из состояния "Не Существует" в состояние "Создание" |
x | x | x | x | - | - | - | - | RFU |
b4=1 | указывает на активацию приложения, идентифицированного в поле данных команды. Это распространяется на приложение, которое только создано (текущее состояние жизненного цикла - "Создание") или которое уже инициализировано (текущее состояние жизненного цикла - "Инициализация"). |
b3=1 | указывает на инициализацию приложения, идентифицированного в поле данных команды (текущее состояние жизненного цикла - "Создание"). |
b2=1 | указывает на создание приложения, идентифицированного в поле данных команды (текущее состояние жизненного цикла - "Не существует"). |