Что такое формат файла PKPASS?
Файлы с расширением .pkpass содержат различные типы данных, упакованные с помощью сжатия ZIP, включая повседневные билеты, посадочные талоны, купоны, членские карты, студенческие билеты, карты лояльности, а также кредитные или дебетовые карты, работающие с Apple Pay.
На мобильном устройстве пропуска отображаются в виде штрих-кодов в таких форматах, как Aztec, PDF417, QR или Code 128 (1D).
Дополнительная информация
Этот формат был представлен в 2012 году компанией Apple для приложения Passbook, переименованного в Apple Wallet в iOS 9 (2015). Его также можно открыть с помощью других программ на различных платформах.
Внутри пакет .pkpass представляет собой ZIP-архив, содержащий несколько обязательных файлов:
pass.json- основные данные пропуска: тип, поля отображения, цвета и URL-адресаmanifest.json- JSON словарь контрольных сумм SHA-1 для каждого включенного файлаsignature- отсоединенная подпись PKCS#7, созданная с помощью сертификата Pass Type ID, выданного Apple- графические ресурсы, такие как
icon.png,logo.pngиstrip.png
Файлы .pkpass могут распространяться различными способами - внутри приложений, веб-сайтов, социальных платформ, через SMS, MMS, электронную почту, а также с помощью QR-кодов или штрих-кодов.
Безопасность и защита
РИСК: LOWФайлы PKPASS криптографически подписаны сертификатом, выданным Apple, и содержат только данные и изображения - без исполняемого кода - поэтому они не могут заразить устройство. Wallet отклоняет пропуска, подпись которых не проходит проверку. Реальный риск связан с конфиденциальностью: штрих-код пропуска кодирует данные вашего бронирования/билета, поэтому не делитесь файлами пропусков или скриншотами публично и будьте осторожны при загрузке посадочных талонов на сайты онлайн-конвертации.
Детали формата
в двух словахПрограммы, открывающие файлы PKPASS
Технические подробности
глубокая спецификация| Формат контейнера | ZIP-архив; магические байты 50 4B 03 04 («PK» - заголовок локального файла) |
| Обязательные внутренние файлы | pass.json, manifest.json, signature и как минимум одно изображение иконки |
| Дескриптор пропуска | pass.json - определяет тип пропуска, поля отображения, цвета, тип штрих-кода и URL-адреса веб-сервисов |
| Манифест целостности файлов | manifest.json - JSON-словарь контрольных сумм SHA-1 для каждого файла в пакете |
| Цифровая подпись | Отсоединенная подпись PKCS#7 (файл с именем signature), подписанная сертификатом Pass Type ID, выданным Apple |
| Центр сертификации | Apple Developer Program; для создания действительных подписей требуется сертификат Pass Type ID |
| MIME-тип | application/vnd.apple.pkpass |
| Поддерживаемые форматы штрих-кодов | Aztec, PDF417, QR Code, Code 128 (1D) |
| Типы пропусков | boardingPass, coupon, eventTicket, generic, storeCard (определяются в pass.json) |
| Графические ресурсы | Файлы PNG: icon.png, logo.png, strip.png, thumbnail.png, background.png; варианты для Retina с суффиксами @2x и @3x |
| Поддержка NFC | Дополнительная полезная нагрузка NFC для бесконтактного считывания; требуется разрешение Apple, предоставленное эмитенту |
| Каналы распространения | Вложение в электронную почту, загрузка с веб-сайта, доставка внутри приложения, AirDrop, SMS/MMS, сканирование QR-кода |
| Пакет из нескольких пропусков | Несколько пропусков могут быть упакованы вместе в файл .pkpasses (также на базе ZIP) |
| Поддержка платформ | Нативная в iOS и macOS (Apple Wallet); поддержка Android через сторонние приложения, такие как PassWallet и Pass2U Wallet |
| Выпущен | 2012 (iOS 6, as Passbook; app renamed Wallet in iOS 9, 2015) |
| Открыть стандартное | Да · без роялти |
| Спецификация | developer.apple.com |
Конвертации PKPASS
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах PKPASS.