PKPASS

PKPASS 是一种文件格式,用来存储和交换数字通行证,最早是由 Apple 为他们的 Wallet 应用开发的。它主要用于展示一些 “打印在小纸票上或小塑料上”的一些数据,像是登机牌、优惠券、会员卡和证书等等。 它的标准是公布在互联网上的,因此这也让 AndroidWindows 等其他的平台可以开发与 Apple Wallet 相兼容的实现。

PKPASS
扩展名.pkpass, .pkpasses
互联网媒体类型
  • application/vnd.apple.pkpass
  • application/vnd.apple.pkpasses
开发者Apple
扩展自ZIP

文件结构

该文件是一个 ZIP 归档文件文件扩展名为 .pkpass ,其中包含一组描述数字通行证的数字签名文件。多个 .pkpass 文件可以进一步组合成一个扩展名为 .pkpasses 的 ZIP 归档,以便组合多个数字通行证来便于分发。

示例 PKPASS 文件的文件内容可能如下所示:

  • 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 文件是在数字通行证的小图标,它会在通知中心或者邮件中展示。


logo.png 会显示在卡票的左上角。


本地化资源(像是图片和字符串资源)存储在这样命名的子文件夹中: <language_identifier>-< region_identifier>.lproj


例如英语使用 en.lproj,俄语使用 ru.lproj 。但是对于中文这样多个地区使用,并且字符和语法不一样的情况下,就需要地区标识符,例如大陆地区的简体中文为 zh-cn.lproj,而台湾的正体中文则采用 zh-tw.lproj


pass.json 是用来描述整个数字通行证结构和数据的 JSON 格式文件。

manifest.json 是一个 JSON 字典,其中包含除 manifest.json 本身和签名之外的所有文件的SHA-1哈希值。

signature 文件包含了针对 manifest.json 文件的 PKCS#7 签名

外部链接

格式标准