GlobalPlatform C Library and GPShell

Logo

C library and command-line for Open- and GlobalPlatform smart cards

GlobalPlatform 3.0.0

Summary

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:

GPShell

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

Support And Consulting

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.

Installation

GitHub Release Packages

Signed GitHub Release packages are available for Windows (MSI, MSIX, and ZIP), Linux (DEB, RPM, and AppImage), and macOS (DMG).

vcpkg for C and CMake Projects

For C and CMake projects, use the GlobalPlatform vcpkg registry.

Windows SDK

The release page provides signed x86 and x64 Windows shared-library SDK ZIPs.

Homebrew for Linux and macOS

For Linux and macOS command-line installations, use the Homebrew tap. Manual build instructions are in the repository README.

Library And SDK

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.

Connection Plugins

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.

Help And Issues

Report defects through the GitHub issue tracker. The SourceForge mailing list and Stack Overflow tags gpshell and globalplatform remain available for community discussion.