From 34ba616e48ff7b8156df9479538d183b3b3c6fef Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 10 Jun 2026 16:23:57 -0700 Subject: [PATCH] build(amd-h): vendor GlobalPlatform exports for j3r452 builds Drops gpapi-globalplatform 1.7 and gpapi-upgrade 1.1 (AMD-H Amendment H v1.1) under applet/build-tools/gp-amdh/, sourced from OpenJavaCard/globalplatform-exports (master snapshot 2020-09-30). - dt-mvn.sh mounts exports/org/ into the converter's api_export_files/. - pom.xml adds the .jar files as system-scope deps under the j3r452 profile so javac on j3r452 builds resolves org.globalplatform.upgrade symbols (j3r180 builds don't see them on classpath). - .gitignore: narrow build-tools/ exclusion to top-level only so the new applet/build-tools/gp-amdh/ tree is trackable while the top-level build-tools/jcardsim/ vendor fork stays out of the repo. This commit alone produces zero CAP bytecode change because no current source imports org.globalplatform.*. The infra is provably inert until the Task 3.1+ source on feat/amd-h-epic-3-wip is merged. Verified by diffing CAP zip components for both profiles: only the embedded Java-Card-CAP-Creation-Time timestamp in META-INF/MANIFEST.MF differs. Co-Authored-By: Claude Opus 4.7 --- .gitignore | 7 +- applet/build-tools/gp-amdh/README.md | 65 ++++++++++++++++++ .../javacard/globalplatform.exp | Bin 0 -> 6641 bytes .../upgrade/javacard/upgrade.exp | Bin 0 -> 1705 bytes .../gp-amdh/lib/gpapi-globalplatform.jar | Bin 0 -> 43749 bytes .../build-tools/gp-amdh/lib/gpapi-upgrade.jar | Bin 0 -> 12638 bytes applet/pom.xml | 27 ++++++++ applet/scripts/dt-mvn.sh | 8 +++ 8 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 applet/build-tools/gp-amdh/README.md create mode 100644 applet/build-tools/gp-amdh/exports/org/globalplatform/javacard/globalplatform.exp create mode 100644 applet/build-tools/gp-amdh/exports/org/globalplatform/upgrade/javacard/upgrade.exp create mode 100644 applet/build-tools/gp-amdh/lib/gpapi-globalplatform.jar create mode 100644 applet/build-tools/gp-amdh/lib/gpapi-upgrade.jar diff --git a/.gitignore b/.gitignore index 1e0a0df..31787df 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,9 @@ # --- pre-existing --- -# Local build/test tooling, not committed (jcardsim fork etc.) -build-tools/ +# Local build/test tooling, not committed (jcardsim fork etc.). Matches the +# top-level build-tools/ dir only — applet/build-tools/ is a different beast +# (vendored AMD-H exports etc.) and IS committed; see negation below. +/build-tools/ +!applet/build-tools/ # --- secrets / private keys --- # aliro-trustgen emits aliro_trust.h with the reader's PRIVATE scalar. diff --git a/applet/build-tools/gp-amdh/README.md b/applet/build-tools/gp-amdh/README.md new file mode 100644 index 0000000..abfc6c5 --- /dev/null +++ b/applet/build-tools/gp-amdh/README.md @@ -0,0 +1,65 @@ +# GlobalPlatform Amendment H exports (vendored) + +This directory ships GlobalPlatform API exports and stub JARs needed to compile +Aliro applet source against `org.globalplatform.*` and +`org.globalplatform.upgrade.*` (Amendment H — ELF Upgrade). + +The `vivokey/smartcard-ci` Docker image does not include these exports, so we +vendor them here and bind-mount / classpath them in at build time. + +## Files + +| Path | Source artifact | Notes | +|------|-----------------|-------| +| `exports/org/globalplatform/javacard/globalplatform.exp` | `org.globalplatform-1.7/exports/...` | Converter export file, GP base API v1.7 | +| `exports/org/globalplatform/upgrade/javacard/upgrade.exp` | `org.globalplatform.upgrade-1.1/exports/...` | Converter export file, AMD-H Upgrade API v1.1 | +| `lib/gpapi-globalplatform.jar` | `org.globalplatform-1.7/gpapi-globalplatform.jar` | Stub classes for javac classpath | +| `lib/gpapi-upgrade.jar` | `org.globalplatform.upgrade-1.1/gpapi-upgrade.jar` | Stub classes for javac classpath | + +## Version selection + +AMD-H v1.1 targets **GlobalPlatform Card Specification v2.3.1**, which exposes +the v1.7 base API. Pairing **base 1.7 + upgrade 1.1** is the canonical combo; +see `GPC_2.3_H_ELF_Upgrade_v1.1_PublicRelease.pdf` in the project root for the +specification text. + +## Provenance + +All four files were extracted verbatim from the `master` snapshot of the +public repository: + + https://github.com/OpenJavaCard/globalplatform-exports + +specifically from these subdirectories: + + * `org.globalplatform-1.7/` + * `org.globalplatform.upgrade-1.1/` + +The local zip used to extract them (`globalplatform-exports-master.zip`) was +fetched on 2020-09-30 (mtime of the archive entries). File sizes match the +upstream manifest: + + 43749 gpapi-globalplatform.jar + 12638 gpapi-upgrade.jar + 6641 globalplatform.exp + 1705 upgrade.exp + +## License + +These artifacts are GlobalPlatform-published API descriptors / stubs and are +governed by the GlobalPlatform Specification license under which AMD-H v1.1 +was released. The corresponding specification PDF +(`GPC_2.3_H_ELF_Upgrade_v1.1_PublicRelease.pdf`) lives at the project root and +documents the licensing terms. + +## How the build consumes these files + + * `applet/scripts/dt-mvn.sh` bind-mounts `exports/org/` into the Docker + image at `/app/sdks/jc305u3_kit/api_export_files/org` so the ant-javacard + converter can resolve `org.globalplatform.*` package imports during CAP + conversion. + * `applet/pom.xml` declares the two `.jar` files as `system`-scope + dependencies under the `j3r452` Maven profile only, so javac on j3r452 + builds resolves the symbols. The `j3r180` profile never adds the JARs to + its classpath — its CAP cannot depend on AMD-H because the J3R180 OS does + not implement the Upgrade API. diff --git a/applet/build-tools/gp-amdh/exports/org/globalplatform/javacard/globalplatform.exp b/applet/build-tools/gp-amdh/exports/org/globalplatform/javacard/globalplatform.exp new file mode 100644 index 0000000000000000000000000000000000000000..03c6edf1b877ec2ebf84906509de45e53bb29423 GIT binary patch literal 6641 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 I@K+`Of52({3;+NC literal 0 HcmV?d00001 diff --git a/applet/pom.xml b/applet/pom.xml index c7c76b1..a693997 100644 --- a/applet/pom.xml +++ b/applet/pom.xml @@ -164,6 +164,33 @@ A0000009094454414C49524F02 aliro-applet-j3r452.cap + + + + org.globalplatform + gpapi-globalplatform + 1.7 + system + ${project.basedir}/build-tools/gp-amdh/lib/gpapi-globalplatform.jar + + + org.globalplatform + gpapi-upgrade + 1.1 + system + ${project.basedir}/build-tools/gp-amdh/lib/gpapi-upgrade.jar + +