feat: Push commands pill — GP administration trigger + TS 102 226 §9 pushes (v3.5.0)
The former HTTP OTA pill becomes "Push commands" (RU: Пуш/триггер) and groups everything that makes the card dial out: - Administrative session (GP Amd B §4.7): the existing Trigger/Store UI, unchanged, as the first section (most used). - BIP / CAT_TP trigger (§9): request 01 BIP channel opening (optional OPEN CHANNEL COMPREHENSION-TLVs) or 02 CAT_TP link (destination port, optional max SDU / identification data). - TCP trigger (§9): request 03 TCP connection (bearer, transport level with protocol type 02, destination address 21/57/F0, NAA/APN, extra TLVs) or 04 identification packet (optional data, ICCID when absent — sent over an already open channel). The guided sections reuse chainPushData (the RAM/GP chain PUSH encoder) and preview the C-APDU; mandatory parameters (02 port, 03 port + address) are enforced there while the chain row stays lenient. Actions: Pack into Secured packet (no auto-TAR — a §9 PUSH goes to the target application) and → Expanded Script (22 Command TLV import; berAppendApdu extracted from loadExpandedScript). Each §9 request has a note separating it from the administration session. Chain-builder PUSH command and the expanded-script C-APDU picker are unchanged. Tests: pushSectionApdu vectors in ts102226.test.js; help 2.7 EN/RU restructured, READMEs, AGENTS; sw cache -> simple-v246.
This commit is contained in:
+14
-2
@@ -44,7 +44,7 @@ npm run build
|
||||
|
||||
## Вкладка Remote APDU
|
||||
|
||||
Построение команд APDU (C-APDU). Семь подвкладок для разных поколений карт, наборов команд и инструментов разбора: **SIM RFM**, **USIM RFM**, **RAM/GP**, **Expanded Script**, **HTTP OTA**, **Разбор C-APDU** и **«Парсер ответов»**.
|
||||
Построение команд APDU (C-APDU). Семь подвкладок для разных поколений карт, наборов команд и инструментов разбора: **SIM RFM**, **USIM RFM**, **RAM/GP**, **Expanded Script**, **Пуш/триггер**, **Разбор C-APDU** и **«Парсер ответов»**.
|
||||
|
||||
### SIM RFM
|
||||
|
||||
@@ -331,7 +331,12 @@ CLA = `80` (GlobalPlatform v2.3.1). Удалённое управление со
|
||||
|
||||
Вставьте сырой hex APDU — отобразится раскрывающееся дерево. Контейнер определяется автоматически: **Expanded Script** (ведущие `AA` или `AE80`, разбор по ETSI TS 102 226 §5.2.1) или **компактная цепочка C-APDU** (последовательность ISO 7816 C-APDU). У каждого узла — метка, hex и краткое описание; родительские узлы раскрываются до подэлементов.
|
||||
|
||||
### HTTP OTA
|
||||
### Пуш/триггер
|
||||
|
||||
Объединяет команды, заставляющие карту выйти в сеть: триггер административной сессии HTTP (GlobalPlatform) с режимом записи параметров и варианты команды PUSH из ETSI TS 102 226 §9. Доставляются они по-разному — триггер администрирования это TLV-сообщение для Security Domain, а PUSH §9 это C-APDU (`80 EC 01 P2`) для приложения с поддержкой BIP/CAT_TP.
|
||||
|
||||
#### Сессия администрирования (HTTP OTA)
|
||||
|
||||
|
||||
Сборка payload-ов Remote Application Management over HTTP по GlobalPlatform **GPC v2.2 Amendment B v1.1** (§4.7). Два режима:
|
||||
|
||||
@@ -347,6 +352,13 @@ CLA = `80` (GlobalPlatform v2.3.1). Удалённое управление со
|
||||
|
||||
Чекбокс **Command Scripting template** оборачивает всю команду `81` в формат Expanded Remote Application с определённой длиной (`AA`, ETSI TS 102 226 §5.2.1) для TAR, обрабатывающих расширенный формат. **Pack into Secured packet** отправляет собранный payload на вкладку SCP80 для заполнения SPI/счётчика — укажите там TAR, который слушает SD (обычно OTASD).
|
||||
|
||||
#### PUSH по TS 102 226 §9
|
||||
|
||||
Два управляемых раздела собирают запросы §9 тем же кодировщиком, что и строка **PUSH** в цепочке RAM/GP, и предлагают **«Упаковать в Secured packet»** (TAR остаётся ручным — запрос адресован целевому приложению) и **→ Расширенный скрипт** (оборачивает APDU в Command TLV `22`):
|
||||
|
||||
- **BIP / CAT_TP** — `01` открытие BIP-канала (COMPREHENSION-TLV OPEN CHANNEL необязательны) или `02` CAT_TP (порт назначения в transport level `3C` с типом 00, необязательные buffer size `39` / данные идентификации `36`);
|
||||
- **TCP** — `03` TCP-соединение (bearer `35`, transport level `3C` с типом 02, адрес назначения `3E` — `21` IPv4 / `57` IPv6 / `F0` FQDN, NAA/APN `47`) или `04` пакет идентификации (по уже открытому каналу, при отсутствии данных используется ICCID).
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user