From 6f6769d12d8d35ce0097b307958642989922bc45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=A2=D1=80=D0=BE=D1=88?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Wed, 5 Aug 2026 10:51:01 +0300 Subject: [PATCH] more options for RAM GET DATA, GET STATUS --- README.md | 27 +++++++++++++++++++++++++++ index.html | 36 +++++++++++++++++++++++++++++++----- style.css | 14 ++++++++++++++ 3 files changed, 72 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1f606ee..e3a6c9b 100644 --- a/README.md +++ b/README.md @@ -195,6 +195,33 @@ Optional TLV objects appended to the INSTALL data field: | 20 | Executable Load Files | | 10 | ELF and their Executable Modules | +### GET STATUS P2 values + +| Value | Meaning | +|---|---| +| 40 | First/all occurrences, GP TLV format (default) | +| 42 | Next occurrence, GP TLV format | +| 00 | First/all, old format (deprecated) | +| 02 | Next, old format (deprecated) | + +### GET DATA tag values + +| Tag | Data Object | +|---|---| +| 42 | Issuer Identification Number (IIN) | +| 45 | Card Image Number (CIN) | +| 66 | Card Data / SD Management Data | +| 67 | Card Capability Information | +| E0 | Key Information Template | +| D3 | Current Security Level | +| 2F00 | List of Applications (ISO 7816-4) | +| FF21 | Extended Card Resources Info | +| 5F50 | SD Manager URL | +| C1 | Sequence Counter (SCP02/03) | +| C2 | Confirmation Counter | +| 7F21 | Certificate (SD public key) | +| 5031 | Certificate info (EF.OD) | + ### DELETE P1 values | Value | Meaning | diff --git a/index.html b/index.html index fca4d85..2f42a53 100644 --- a/index.html +++ b/index.html @@ -534,8 +534,8 @@
@@ -547,9 +547,34 @@
+
+ + +
- - + + +
@@ -1262,7 +1287,8 @@ function genRam() { const dataLen = (dataField.length / 2).toString(16).padStart(2, '0'); apdu = buildApdu(0x80, 0xE4, parseInt(delMode, 16), 0x00, parseInt(dataLen, 16), dataField); } else if (cmd === 'get-status') { - apdu = buildApdu(0x80, 0xF2, parseInt(gsMode, 16), 0x00, 0x02, '4F00'); + const gsP2 = document.getElementById('ram-gs-p2').value; + apdu = buildApdu(0x80, 0xF2, parseInt(gsMode, 16), parseInt(gsP2, 16), 0x02, '4F00'); } else if (cmd === 'get-data') { const tag = parseInt(tagHex, 16); apdu = buildApdu(0x80, 0xCA, (tag >> 8) & 0xFF, tag & 0xFF, 0x00, null); diff --git a/style.css b/style.css index d3f0902..9be0703 100644 --- a/style.css +++ b/style.css @@ -563,6 +563,10 @@ video { margin-bottom: 0.25rem; } +.mb-1\.5 { + margin-bottom: 0.375rem; +} + .mb-2 { margin-bottom: 0.5rem; } @@ -933,6 +937,11 @@ video { background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1)); } +.hover\:text-gray-600:hover { + --tw-text-opacity: 1; + color: rgb(75 85 99 / var(--tw-text-opacity, 1)); +} + .hover\:text-red-700:hover { --tw-text-opacity: 1; color: rgb(185 28 28 / var(--tw-text-opacity, 1)); @@ -1008,4 +1017,9 @@ video { .dark\:hover\:bg-slate-700:hover:is(.dark *) { --tw-bg-opacity: 1; background-color: rgb(51 65 85 / var(--tw-bg-opacity, 1)); +} + +.dark\:hover\:text-slate-300:hover:is(.dark *) { + --tw-text-opacity: 1; + color: rgb(203 213 225 / var(--tw-text-opacity, 1)); } \ No newline at end of file