C library and command-line for Open- and GlobalPlatform smart cards
GlobalPlatform is an open-source C library and command-line tooling for managing OpenPlatform and GlobalPlatform smart cards. It is used to inspect cards, manage Security Domains and keys, load Java Card CAP files, and exchange APDUs through PC/SC readers.
Highlights:
GPShell3 is the preferred, task-oriented command-line interface. It is suitable for interactive use, shell scripts, and CI workflows. The full manual covers SCP11, delegated management, DAP, receipts, Security Domains, card data, and all commands.
The script-driven legacy GPShell manual
remains available for established automation and existing .txt scripts.
GPShell3 example scripts and legacy GPShell scripts are included with the release packages.
GPShell3 demonstration playlist
Financial support helps maintain the library, GPShell, release infrastructure, and documentation:
Consulting for GlobalPlatform integration, smart-card deployment, and secure channel workflows is available at gpshell@ik.me.
Signed GitHub Release packages are available for Windows (MSI, MSIX, and ZIP), Linux (DEB, RPM, and AppImage), and macOS (DMG).
For C and CMake projects, use the GlobalPlatform vcpkg registry.
The release page provides signed x86 and x64 Windows shared-library SDK ZIPs.
For Linux and macOS command-line installations, use the Homebrew tap. Manual build instructions are in the repository README.
The C API documentation is generated from the release source. The library and its PC/SC plugin are available as CMake packages for developers embedding GlobalPlatform into their own applications.
The Windows 3.0.0 release includes signed x86 and x64 shared-library SDK ZIP archives. Each archive contains headers, import libraries, CMake package files, the GlobalPlatform and PC/SC plugin DLLs, required runtime dependencies, API documentation, and a minimal CMake consumer example.
The default PC/SC connection plugin supports local smart card readers. Applications may provide another connection plugin when APDUs are transported through a remote reader or a virtual-card-reader environment.
Report defects through the GitHub issue tracker.
The SourceForge mailing list
and Stack Overflow tags gpshell and globalplatform remain available for
community discussion.