Module: AppleReceipt::ReceiptParser
- Defined in:
- lib/apple_receipt/receipt_parser.rb
Overview
ReceiptParser contains helper methods to parse receipt data structures.
Class Method Summary collapse
Class Method Details
.bla(input) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/apple_receipt/receipt_parser.rb', line 14 def bla(input) receipt_hash = NextStepParser.parse(input) signature_decoded = Base64.decode64(receipt_hash['signature']) data = Base64.decode64(receipt_hash['purchase-info']) sig = StringIO.new(signature_decoded) [sig, data] end |
.parse(input) ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/apple_receipt/receipt_parser.rb', line 23 def parse(input) sig, data = bla(input) version = sig.read(1).unpack('C').first # 8-bit unsigned (unsigned char) signature = sig.read(256) cert_size = sig.read(4).unpack('L>')[0] # 32-bit unsigned, big-endian receipt_cert = OpenSSL::X509::Certificate.new(sig.read(cert_size)) [version, signature, receipt_cert, data] end |