Подтверждение получения IAP Itunes локально в Python.

Я новичок в OpenSSL, и я пытаюсь проверить квитанции Itunes IAP локально в Python.

Руководство по программированию проверки квитанции ( https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateLocally.html) гласит:

Самая внешняя часть (помеченная как квитанция на рисунке) представляет собой контейнер PKCS #7, как определено в RFC 2315, с его полезной нагрузкой, кодированной с использованием ASN.1 (Абстрактная синтаксическая нотация номер один), как определено в МСЭ-Т X.690. Полезная нагрузка состоит из набора атрибутов поступления. Каждый атрибут получения содержит тип, версию и значение.

import OpenSSL

f = open('sample_IAP_receipt_base64.txt', 'r').read()

type = OpenSSL.crypto.FILETYPE_ASN1
data = OpenSSL.crypto.load_pkcs7_data(type, f)
print f

Этот тест, кажется, генерирует ошибку:

    data = OpenSSL.crypto.load_pkcs7_data(type, f)
OpenSSL.crypto.Error: [('asn1 encoding routines', 'ASN1_CHECK_TLEN', 'wrong tag'), ('asn1 encoding routines', 'ASN1_ITEM_EX_D2I', 'nested asn1 error')]

Есть идеи, как заставить это работать?

2 ответа

Я рекомендую использовать существующий пакет python, itunes-iap хорош:

https://pypi.python.org/pypi/itunes-iap

Единственное, что будет делать это локально, это библиотека:

https://github.com/SilentCircle/iap-local-receipt

Другие вопросы по тегам