Ошибка: файл манифеста не проверен успешно

Я использую код .NET для настройки модуля ASP.NET для создания Passes for iPhone Apps. Я могу успешно сгенерировать пропуск, но когда я нажимаю кнопку «Добавить», пропуск не добавляется в приложение Passbook, фактически он просто исчезает.

Я вошел в консоль устройства и обнаружил ошибку «Неверная ошибка чтения карты данных /. Подпись манифеста не была успешно проверена»

У меня есть все сертификаты (с закрытым ключом, импортированным правильно).

Буду признателен за любую помощь...!!!


person Yash Soni    schedule 26.12.2012    source источник
comment
Это происходит, когда Pass аннулирует Passbook.   -  person Sumanth    schedule 26.12.2012
comment
Используйте этот репозиторий github.com/Redth/PassKitSharp для создания pkpass в Sharp/.Net.   -  person Sumanth    schedule 26.12.2012
comment
Я попытался использовать для этого .Net 4.0. Я могу сгенерировать пропуск, но единственной проблемой является добавление его в Passbook. Где может произойти ошибка при подписании? Мои сертификаты хранятся в хранилище сертификатов Windows   -  person Yash Soni    schedule 26.12.2012
comment
private byte[] signit(string manifest) { byte[] manifestbytes = ASCIIEncoding.ASCII.GetBytes(manifest); ContentInfo contentinfo = новый ContentInfo (байты манифеста); SignedCms signedcms = new SignedCms (contentinfo, true); X509Certificate2 objCertificate = getServerCert(pass.test.bms); CmsSigner oursigner = новый CmsSigner(objCertificate); signedcms.ComputeSignature(нашподписчик); вернуть подписанныйcms.Encode(); // возвращаем байты манифеста; } это код, который я использую   -  person Yash Soni    schedule 26.12.2012
comment
@Sumanth, это неправда - Passbook не делает пропуски недействительными. Подпись пропуска проверяется после, когда пользователь решит добавить пропуск в Passbook. Если подпись не проходит проверку либо потому, что сертификат недействителен, либо подпись не соответствует манифесту, либо подпись не содержит сертификат WWDR, ​​то пропуск не добавляется в Passbook (и просто исчезает).   -  person PassKit    schedule 05.01.2013
comment
я ищу реализацию сервера для создания таких проходов. Вы можете поделиться своим исходным кодом здесь? я застрял с созданием файла подписи с asp.net   -  person Darshana    schedule 20.11.2014


Ответы (2)


Попробуйте использовать материалы сберегательной книжки Apple на сайте разработчика. используйте signpass, чтобы подписать код, я думаю, это решит проблему

person achu    schedule 26.12.2012

Потенциальной причиной этой ошибки является отсутствие в подписи сертификата Apple WWDR. Требование включать это в подпись не было введено до iOS6 Beta 3 (и не применялось до Beta 4). Документация здесь.

Библиотеке .NET, которую вы используете, больше 3 месяцев, поэтому она может не включать этот сертификат в подпись.

Вы можете загрузить сертификат WWDR от Apple здесь.

Также может помочь, если вы опубликуете ссылку на пакет .pkpass, который не загружается.

person PassKit    schedule 02.01.2013