1

I'm having troubles providing a passbook pass in my app. When the user taps the "add to passbook" button the app connects to the server, downloads the dynamically created .pkpass file and tries to show it. On iOS6 everything works fine, no errors, the pass displays as expected. But when I try it on iOS7 I get the following errors:

Invalid data error reading pass pass.com.domain.discount/2500000.
The passTypeIdentifier or teamIdentifier provided may not match your certificate, or the certificate trust chain could not be verified.
Error adding pass The pass cannot be read because it isn’t valid.

The webservice link is with https://, the URL returns a valid .pkpass file and the content-type is application/vnd.apple.pkpass. I also updated and checked all info (team identifier, passTypeIdentifier) certificates (also WWDR) as the error suggests, but nothing changes. It's just strange that it works on iOS6 but not on iOS7.

Any help would be greatly appreciated!

asked Oct 21, 2013 at 0:51
2
  • Can you post a link to your .pkpass. It looks like there is a problem with your pass certificate or signing process. The only change as of iOS7 is that the signature needs to contain a signing date. This was not enforced in iOS6. Commented Oct 21, 2013 at 1:46
  • Thanks for your help, the link is: bit.ly/1gZ2HdD Commented Oct 21, 2013 at 3:33

1 Answer 1

3

Your pass is failing to ingest on both iOS6 and iOS7 devices.

iOS7 Logs

Oct 21 12:11:23 passd[11897] <Warning>: Verifying structure and signature for pass pass.com.puma.trac.discount/2500000
Oct 21 12:11:23 passd[11897] <Warning>: Error evaluating trust: [leaf CheckLeafMarkerOid]
Oct 21 12:11:23 passd[11897] <Warning>: Signature validation: *** FAILED ***
Oct 21 12:11:23 passd[11897] <Warning>: Invalid data error reading pass pass.com.puma.trac.discount/2500000. The passTypeIdentifier or teamIdentifier provided may not match your certificate, or the certificate trust chain could not be verified.

iOS6 Logs

Oct 21 12:43:25 #pfr passd[185] <Error>: Oct 21 12:43:25 SecTrustEvaluate [leaf CheckLeafMarkerOid]
Oct 21 12:43:25 #pfr passd[185] <Warning>: Invalid data error reading pass pass.com.puma.trac.discount/2500000. The passTypeIdentifier or teamIdentifier provided may not match your certificate, or the certificate trust chain could not be verified.

Looking at your signature, as much as I can tell without your certificate, it appears that a WWDC certificate is included and that the team ID of the certificate used to sign equals the team ID in the pass.json.

I can see a couple of minor discrepancies between the WWDC certificate in a known good pass and yours so I would start by replacing your WWDC certificate with the latest from the Apple Website.

Also check your server time and the signing date and time and also that your Apple Developer subscription is still valid.

If you are using a third party library to sign the pass, check that it has been properly updated to meet both the signing date and WWDC certificate inclusion requirements - a number of public libraries have not been updated since these requirements became mandatory.

answered Oct 21, 2013 at 4:58
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.