I'm working my way through Apple's "Validating App Store Receipts", and I can
extract all the data, compute the digest and compare it against the hash. But
now I am stuck converting the OCTET_STRING_t for the bundle_id in the Receipt
to an NSString so I can compare it against my applications Bundle Identifier.
In particular, the beginning of the OCTET_STRING_t's buffer begins with two
bytes (decimal values 12 and 21). Am I supposed to skip these? For example, the
following code where I skip these first two bytes seems to work, but it seems
like a big hack:
OCTET_STRING_t *bundle_id;
...
NSString *string = [[NSString alloc] initWithBytes:(bundle_id->buf + 2)
length:(NSUInteger)(bundle_id->size - 2)
encoding:NSUTF8StringEncoding];
What is the right way?
Thanks,
Todd
PS. Here is the OCTET_STRING_t's buffer for the sample receipt Apple provides.
One line for each byte. The number is the decimal value for each byte, and the
corresponding character (if printable) is in the brackets.
12 [ ]
21 [ ]
99 [c]
111 [o]
109 [m]
46 [.]
101 [e]
120 [x]
97 [a]
109 [m]
112 [p]
108 [l]
101 [e]
46 [.]
83 [S]
97 [a]
109 [m]
112 [p]
108 [l]
101 [e]
65 [A]
112 [p]
112 [p]
_______________________________________________
Cocoa-dev mailing list ([email protected])
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to [email protected]