Покупка Windows Phone 8 в приложении в бета-версии дает подписанную квитанцию ​​​​с неправильным дайджестом

Я протестировал встроенные покупки в приложении Windows Phone 8, используя библиотеку MockIAP, и все было в порядке. Также я протестировал код проверки подписи квитанции (на основе xmlseclibs Роберта Ричардса) на своем сервере с тестовым манифестом Microsoft из здесь и проходит проверку. Я слышал, что в бета-режиме встроенные приложения бесплатны и не дают вам подписанных квитанций, но когда я создал бета-приложение и попытался совершить в нем покупку, я получил подписанную квитанцию ​​и у нее была версия 2.0 (образец msft имеет версию 1.0)!

Я проследил проверку и обнаружил, что обе квитанции (образец msft и тот, который у меня есть) имеют один и тот же метод CanonicalizationMethod, SignatureMethod, Transforms и DigestMethod, и с образцом msft все в порядке, но значение дайджеста (Signature/SignedInfo/Reference/ DigestValue) в моем чеке было неправильно.

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

Может быть, это сделано намеренно? Я имею в виду, может быть, я не должен обращать внимание на проверку дайджеста при работе с бета-приложением? Или MSFT использует какой-то недокументированный метод дайджеста?

обновление: попытка проверить возвращенную квитанцию ​​с помощью MSFT пример проверки, проверка не удалась. Есть ли у кого-нибудь опыт проверки квитанции о покупке в приложении WP8? Похоже, что после того, как они изменили формат на версию 2.0, у разработчиков приложений должны возникнуть проблемы с проверкой, так как теперь квитанция не проходит проверку.

Я удалил все нежелательные символы, и мой код работает как с образцами квитанций WP8, так и с Windows Store, но для проверки этих новых квитанций WP8 необходимо пропустить проверку дайджеста. Я попробую это на производстве.


person Tertium    schedule 03.06.2014    source источник


Ответы (1)


На самом деле это проблема бета-приложения. Актуальная версия выпуска отправляет правильно подписанные квитанции с правильными дайджестами.

Обновление: похоже, что некоторые квитанции имеют неправильное значение дайджеста.

person Tertium    schedule 11.06.2014