PKPASS
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]
Filename extensions | .pkpass , .pkpasses |
---|---|
Internet media type |
|
Developed by | Apple |
Extended from | ZIP |
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
- "PassKit Package Format Reference". Apple Inc. Retrieved 2021-10-25.
- "Google Play: Search results for "pkpass"". Retrieved 2021-10-25.
- "Windows store: Search results for "pkpass"". Microsoft. Retrieved 2021-10-25.
- "Flathub store: Search results for "pkpass"". Retrieved 2023-06-21.