Формат pass-файлов Apple Wallet¶
Формат pass-файлов Apple Wallet — это открытый стандарт цифровых пропусков и карт, разработанный компанией Apple для использования в экосистеме iOS и watchOS. Файлы с расширением .pkpass представляют собой ZIP-архивы, содержащие JSON-манифест, набор изображений и подпись, которые вместе формируют визуальное и функциональное представление проездного билета, посадочного талона, купона, подарочной карты или удостоверения личности.
¶История и развитие
Формат был представлен в 2012 году вместе с выходом iOS 6. Изначально он назывался Passbook и предназначался для хранения карт лояльности и купонов. С выходом iOS 9 в 2015 году сервис был переименован в Wallet, а формат файлов получил расширение .pkpass. Ключевым изменением стало добавление поддержки Apple Pay, что позволило интегрировать банковские карты и транзитные билеты непосредственно в приложение.
¶Техническое устройство
¶Структура архива
Pass-файл является ZIP-архивом со следующей структурой:
- pass.json — основной файл манифеста, содержащий все данные о пропуске;
- manifest.json — файл со списком всех файлов архива и их SHA-1 хэшами;
- signature — файл подписи, созданный с использованием сертификата Apple;
- изображения — набор PNG-файлов (icon.png, logo.png, background.png, strip.png и другие) в различных разрешениях для поддержки Retina-дисплеев.
¶Формат pass.json
Файл pass.json построен на основе JSON и содержит обязательные поля: formatVersion (версия формата), passTypeIdentifier (идентификатор типа пропуска), serialNumber (серийный номер), teamIdentifier (идентификатор команды разработчика) и organizationName (название организации). Дополнительные поля определяют визуальное оформление и поведение пропуска: backgroundColor, foregroundColor, labelColor, logoText, barcode (штрих-код или QR-код) и relevantDate (дата, когда пропуск становится актуальным).
¶Типы пропусков
Формат поддерживает несколько стандартизированных типов, определяемых в поле passType:
- boardingPass — посадочные талоны на транспорт;
- coupon — купоны и скидочные предложения;
- eventTicket — билеты на мероприятия;
- generic — универсальный тип для прочих случаев;
- storeCard — карты лояльности и подарочные карты.
¶Механизм обновления
Apple Wallet поддерживает механизм push-уведомлений для обновления содержимого пропусков. Сервер эмитента может отправлять запрос на обновление через сервис Apple Push Notification Service (APNs). При получении уведомления устройство запрашивает новый .pkpass файл по URL, указанному в webServiceURL. Это позволяет обновлять статус посадочного талона при задержке рейса или изменять баланс подарочной карты без необходимости повторной загрузки файла пользователем.
¶Подпись и безопасность
Каждый pass-файл должен быть подписан цифровой подписью с использованием сертификата, выданного Apple разработчику. Подпись создается по алгоритму RSA с ключом не менее 2048 бит. Файл signature содержит подписанные хэши всех файлов архива, что гарантирует целостность данных. Устройства iOS проверяют подпись при импорте пропуска, отклоняя файлы с недействительными или просроченными сертификатами.
¶Применение
Формат широко используется авиакомпаниями, железнодорожными операторами, кинотеатрами, розничными сетями и банками. В России поддержку .pkpass реализовали такие сервисы, как «Аэрофлот», РЖД (мобильное приложение), а также ряд банков для отображения карт лояльности. Помимо стандартных сценариев, формат применяется для создания электронных пропусков на мероприятия и в системах контроля доступа.
¶Ограничения
Формат имеет ряд ограничений: он не поддерживает произвольные встраиваемые скрипты, размер архива ограничен (обычно не более 15–20 МБ), а срок действия сертификатов подписи ограничен одним годом. Кроме того, формат тесно связан с экосистемой Apple и не поддерживается нативно на устройствах Android, хотя существуют сторонние приложения-ридеры для просмотра содержимого файлов.
¶См. также
- Apple Pay
- iOS
- JSON
¶Источники
- Документация Apple Developer: Wallet Developer Guide
- Спецификация формата pass.json (Apple Inc.)
- Материалы WWDC 2012–2015 о Passbook и Wallet
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


