如何验证收据(应用内购买)?
How to validate receipt ( In-App purchase)?
看了很多apple的receipt validation programming guide,卡在这里好几天了...
1.asn1c(如何解析)
ReceiptModule DEFINITIONS ::=
BEGIN
ReceiptAttribute ::= SEQUENCE {
type INTEGER,
version INTEGER,
value OCTET STRING
}
Payload ::= SET OF ReceiptAttribute
END
我使用这个工具生成了一些.h/.c文件,并将它们添加到我的项目中:
不知道怎么用。
这是应用内购买收据格式。
InAppAttribute ::= SEQUENCE {
type INTEGER,
version INTEGER,
value OCTET STRING
}
InAppReceipt ::= SET OF InAppAttribute
我无法使用 asn1c -fnative-types filename
生成任何 file.I 出现此错误:
ASN.1 grammar parse error near line 1 (token "::="): parse error, unexpected TOK_PPEQ, expecting TOK_DEFINITIONS
Cannot parse "IAP.asn1"
如果成功了,怎么用呢?只需添加到我的项目中?
2.OpenSSL?我必须使用它吗? libcrypto.a, libel.a
如何使用这些文件?我必须重新生成吗? (EL Capitan 对比 Xcode 7.0.1)
3.AppleIncRootCertificate.cer , 这个文件是必须的吗?
我会回答你第 1 个问题。
您似乎在尝试使用 ASN.1 类型定义,而不是将它们放在 ASN.1 模块中。所有 ASN.1 定义都需要在它们前后添加以下内容:
模块名称定义 ::= 开始
...您的类型和值定义...
结束
请在您的定义前后添加这些(将 ModuleName 替换为您选择的以大写字母开头的名称)并查看错误消息是否消失。
看了很多apple的receipt validation programming guide,卡在这里好几天了...
1.asn1c(如何解析)
ReceiptModule DEFINITIONS ::=
BEGIN
ReceiptAttribute ::= SEQUENCE {
type INTEGER,
version INTEGER,
value OCTET STRING
}
Payload ::= SET OF ReceiptAttribute
END
我使用这个工具生成了一些.h/.c文件,并将它们添加到我的项目中:
这是应用内购买收据格式。
InAppAttribute ::= SEQUENCE {
type INTEGER,
version INTEGER,
value OCTET STRING
}
InAppReceipt ::= SET OF InAppAttribute
我无法使用 asn1c -fnative-types filename
生成任何 file.I 出现此错误:
ASN.1 grammar parse error near line 1 (token "::="): parse error, unexpected TOK_PPEQ, expecting TOK_DEFINITIONS
Cannot parse "IAP.asn1"
如果成功了,怎么用呢?只需添加到我的项目中?
2.OpenSSL?我必须使用它吗? libcrypto.a, libel.a
如何使用这些文件?我必须重新生成吗? (EL Capitan 对比 Xcode 7.0.1)
3.AppleIncRootCertificate.cer , 这个文件是必须的吗?
我会回答你第 1 个问题。
您似乎在尝试使用 ASN.1 类型定义,而不是将它们放在 ASN.1 模块中。所有 ASN.1 定义都需要在它们前后添加以下内容:
模块名称定义 ::= 开始
...您的类型和值定义...
结束
请在您的定义前后添加这些(将 ModuleName 替换为您选择的以大写字母开头的名称)并查看错误消息是否消失。