Itunes iap收据验证在python中进行本地验证。

Itunes iap收据验证在python中进行本地验证。,python,validation,in-app-purchase,itunes,receipt,Python,Validation,In App Purchase,Itunes,Receipt,我是OpenSSL新手,我正在尝试用python在本地验证Itunes IAP收据 收据验证编程指南()说明: 最外面的部分(图中标记为Receipt)是RFC 2315定义的PKCS#7容器,其有效负载使用ITU-T X.690定义的ASN.1(抽象语法符号1)编码。有效负载由一组接收属性组成。每个收据属性都包含一个类型、一个版本和一个值 此测试似乎生成了一个错误: data = OpenSSL.crypto.load_pkcs7_data(type, f) OpenSSL.crypt

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

收据验证编程指南()说明:

最外面的部分(图中标记为Receipt)是RFC 2315定义的PKCS#7容器,其有效负载使用ITU-T X.690定义的ASN.1(抽象语法符号1)编码。有效负载由一组接收属性组成。每个收据属性都包含一个类型、一个版本和一个值

此测试似乎生成了一个错误:

    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包,itunes iap是一个很好的包:


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


您需要首先从base64对其进行解码
    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')]