GNOME PKPASS Integration

Aim of this project is to make an Apple Wallet pass a first-class file on the GNOME desktop. A .pkpass is a ZIP built by an issuer: pass.json describes the pass, manifest.json records a SHA-1 digest for every member, and signature carries a detached PKCS#7 signature over the manifest. A stock Linux desktop has nothing registered for the format, so a downloaded pass is an opaque file.

This project reads the pass, checks it, draws it, and registers itself as the application that opens it. Everything the desktop does is also available on the command line, and every change the tool makes to the desktop can be reversed.

What it does

Status

Phases 1 through 3 are complete: the reader, the renderer, the MIME handler, and the command-line tools exist, and the test suite passes. Phase 4, publishing the pages and a release, has started.

The barcode is not yet drawn as a scannable symbol: this project has no QR or PDF417 encoder, so the card shows the barcode's format, its alt text, and its payload rather than a code that might not scan. The GTK4 viewer is built only where the GTK4 development files are present. Both limitations are recorded in TODO.md.

A note on examples

A real pass belongs to a person: it carries a name, an identifier, and a barcode payload. The example this project was built from is not published. The fixture the tests use is synthetic and structurally real, and every value in it is invented.