我正在敲打收据验证.
我正处于验证证书是否有效的阶段,我需要解析ASN1文件.
Apple建议使用asn1c,如:
#include "Payload.h" /* This header file is generated by asn1c. */ void *pld = NULL; size_t pld_sz; Payload_t *payload = NULL; asn_dec_rval_t rval; rval = asn_DEF_Payload.ber_decoder(NULL,&asn_DEF_Payload,(void **)&payload,pld,pld_sz,0);
我已经从https://github.com/vlm/asn1c下载了asn1c-master.zip
现在我不知道如何将这个库安装到Xcode中,如果我需要一些额外的工作,或者我可以在安装asn1c之后作为苹果示例开始?
感谢帮助.
编辑:
我按照INSTALL文件中的指示执行操作:
在asn1c-master文件中我在终端中运行:
./configure make make check make install
之后,我在单独的文件夹文件receipt.asn1中创建并在其中添加此文本:
ReceiptModule DEFinitioNS ::= BEGIN ReceiptAttribute ::= SEQUENCE { type INTEGER,version INTEGER,value OCTET STRING } Payload ::= SET OF ReceiptAttribute END
之后我跑了
asn1c -fnative-types receipt.ans1
但我发现:
-fnative-types: Deprecated option ASN.1 grammar parse error near line 1 (token "{"): Syntax error,unexpected '{',expecting TOK_typereference or TOK_capitalreference Cannot parse "receipt.asn1"
解决方法
按照
http://github.com/vlm/asn1c/blob/master/INSTALL中的说明操作
我在新目录(即Mac OS X文件夹)中执行以下操作:
# Terminal command line from: https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateLocally.html#//apple_ref/doc/uid/TP40010573-CH1-SW3 asn1c -fnative-types receipt.ans1 # the file receipt.ans1 has contents from Listing 1-1 in the above URL # converter-sample.c has a main. Don't want that! rm converter-sample.c rm Makefile.am.sample
然后,确保将生成的.c和.h文件拖到Xcode组中,不要将Mac文件夹直接放入项目中,否则,.c和.h文件将不会添加到项目中.因此,它们不会构建,您将获得链接器错误
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。