Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

An example of a working app store validation, with code signing checks.

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 asn1
Octocat-spinner-32 README.markdown
Octocat-spinner-32 ethernet.c
Octocat-spinner-32 ethernet.h
Octocat-spinner-32 main.m
README.markdown

Mac App Store Validation

The code here is based upon the documentation released by Apple. It's been de-obfuscated somewhat, but still has enough to give an idea of how one might take it further. The code in the asn1 folder was generated using the asn1c tool using the definitions on the aforementioned Apple document.

It validates the package receipt and will check the contents of that receipt against its own Info.plist as well as ensuring it has a valid digest for the current machine. In order to protect the Info.plist it also check the app's code signature, since modifications to that file will invalidate the signature.

This implementation isn't guaranteed to be perfect by any means, but it ought to be better than nothing.

Something went wrong with that request. Please try again.