Jump to content

PKPASS

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by SheepTester (talk | contribs) at 00:01, 14 October 2023 (Add period in lead). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

PKPASS
Filename extensions
.pkpass, .pkpasses
Internet media type
  • application/vnd.apple.pkpass
  • application/vnd.apple.pkpasses
Developed byApple
Extended fromZIP

PKPASS is a file format, used for storage and exchange of digital passes, developed by Apple for its Wallet application. Also called "PassBook", it's intended to represent information that "might otherwise be printed on small pieces of paper or plastic" like boarding passes, membership cards, coupons, certificates, etc.[1] The format specification has been published online[1] and this allowed for compatible implementations to be developed for other platforms like Android,[2] Windows[3] and Linux.[4]

File structure

The file is a ZIP archive with a filename extension .pkpass containing a set of digitally signed files describing the digital pass. Multiple .pkpass files can be further combined into a single ZIP archive with an extension of .pkpasses in order to combine several digital passes for ease of distribution.

The file contents of a sample PKPASS file might look like this:

  • icon.png
  • icon@2x.png
  • pass.json
  • manifest.json
  • signature
  • en.lproj/
    • logo.png
    • logo@2x.png
    • pass.strings
  • ru.lproj/
    • logo.png
    • logo@2x.png
    • pass.strings

icon.png is the digital pass icon. logo.png is displayed at the top left of the rendered pass.

Localized resources - like images and strings - are stored in subfolders named like this: <language_identifier>-<region_identifier>.lproj

The file pass.json is a JSON formatted dictionary describing the digital pass.

manifest.json contains a JSON dictionary containing SHA-1 hashes for all files except the manifest itself and the signature.

signature contains a PKCS #7 signature of the manifest file thus effectively signing all files in the bundle.

References

  1. ^ a b "PassKit Package Format Reference". Apple Inc. Retrieved 2021-10-25.
  2. ^ "Google Play: Search results for "pkpass"". Retrieved 2021-10-25.
  3. ^ "Windows store: Search results for "pkpass"". Microsoft. Retrieved 2021-10-25.
  4. ^ "Flathub store: Search results for "pkpass"". Retrieved 2023-06-21.

Format specification