Подтверждение получения 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 хорош:
Единственное, что будет делать это локально, это библиотека: