【问题标题】:Itunes iap receipt validation locally in python.在python中本地进行iTunes iap收据验证。
【发布时间】:2014-08-04 16:19:40
【问题描述】:

我是 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')]

任何想法如何使它工作?

【问题讨论】:

  • 你需要先从base64解码

标签: python validation in-app-purchase itunes receipt


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 2016-06-24
      • 1970-01-01
      • 2014-06-25
      • 2015-11-24
      • 2015-01-08
      • 2012-05-04
      相关资源
      最近更新 更多