2013-11-24 2 views
2

В iOS 7 приложения могут читать так называемый «Grand unified receipt» (WWDC 2013, презентация 308), который ранее был доступен только в Mac OS X. Он содержит все информацию о покупке пользователя приложением, покупки в приложении и т. д., и он зашифрован, чтобы пользователи не могли создавать поддельные. Apple has a tutorial on how to implement it,, но не совсем понятно, где взять некоторые данные.Реализация «большой унифицированной квитанции» на iOS

В учебнике есть пример код:

/* The PKCS #7 container (the receipt) and the output of the verification. */ 
BIO *b_p7; 
PKCS7 *p7; 

/* The Apple root certificate, as raw data and in its OpenSSL representation. */ 
BIO *b_x509; 
X509 *Apple; 

/* The root certificate for chain-of-trust verification. */ 
X509_STORE *store = X509_STORE_new(); 

Как это возможно мы загружаем их на прошивке? There is a Github project called "ValidateStoreReceipt" which has some sample code, но он предназначен для OS X. OSX имеет доступ к OpenSSL, в то время как на iOS предпочтительнее использовать модуль Security.h. Каков наилучший способ реализации «большой единой квитанции»?

ответ

1

OpenSSL больше не предоставляется компанией Apple. В iOS и OSX загрузите источник и создайте OpenSSL.

Apple заявила, что проблема с ними, поставляющая OpenSSL, была несовместимость между версиями, так что новые версии были несовместимы со старыми версиями, и это иногда нарушало приложения.

Смежные вопросы