PKPASS

From HandWiki
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
  • Antu folder-orange.svg en.lproj/
    • logo.png
    • logo@2x.png
    • pass.strings
  • Antu folder-orange.svg 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

External links

Format specification