Itunes在python本地接收验证。

问题描述 投票:2回答:2

我是OpenSSL的新手,我正在尝试在python中本地验证Itunes IAP收据。

收据验证编程指南(https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateLocally.html)说:

最外面的部分(图中标记为Receipt)是一个PKCS#7容器,由RFC 2315定义,其有效载荷使用ASN.1(抽象语法表示法一)编码,由ITU-T 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')]

任何想法如何让这个工作?

python validation in-app-purchase itunes receipt
2个回答
1
投票

我的建议是使用现有的python包,itunes-iap是一个很好的:

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


0
投票

本地唯一能做的就是这个库:

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

© www.soinside.com 2019 - 2024. All rights reserved.