Closed monkeyooo closed 4 years ago
I had used eclipse and prepare all files that I will need in my mac. And I could generate pkpass file, but it still can't opened in iPhone. However, with same json, I used this tool It works. Is there any idea? It seems the signature is not valid.
@monkeyooo The signposts toll should tell you whether the signature is valid. Make sure that you use Apple's WWDRCA certificate as well as your valid pass certificate (signed by Apple)
The log is not very helpful, but you might be missing something. Can you check whether there's more?
There's a chance that it's a bug on the iOS side, but I'd like to make sure we have checked everything on our side.
What version of jPasskit are you using?
@drallgood I had checked my json, and I can't find out where is the missing value. Is there any tool to help me find out the missing value? Because I had using Xcode's simulator, and it's seems not useful. And,Yes, I used the certification which downloaded from apple developer. I used the same JSON file but not the same way to generate the pass file. One is use the tool that apple provide(the Signing and Compressing the Pass that from the document website I post),the other is use the jpasskit. However,the pass which is generated from apple provide is work, jpasskit is not. The jpasskit generate file could only open in my Mac. I think it's the certification problem. Is there any way to check my pass' certification is valid? I'm using the newest jpasskit version which is on the website you provide.
I checked the pkpass file. Now , I'm sure this problem cause by signature and manifest.json. The signature from jpasskit seems different from apple signpass. The signature and manifest from jpasskit byte is not same as Apple tool. The difference, left one is the signpass generated , right one is jpasskit generated. Could you generate a pass from jpasskit that could be used in iPhone? The .cer and .p12 file I'm sure it's correct, however , it's not working. Is there any possible that decryption and encryption had been changed?
I used these function to create sign information:
PKSigningInformation tt = new PKSigningInformation();
PKSigningInformationUtil ttt = new PKSigningInformationUtil();
tt=ttt.loadSigningInformationFromPKCS12AndIntermediateCertificate(privateKeyPath, privateKeyPassword, appleWWDRCA);
Solve it. After I downloaded from this link, the certification is work.
But I still want to know is there any sample to implement IPKRestletServerResourceFactory
.
Big thanks.
Had the same issue, the problem was that the pkpass file was not valid (certificate attributes and pass.json did not match).
You can validate your generated pkpass file here and find out what is wrong with it: http://pkpassvalidator.com/
The solution is to generate a valid pkpass file, that passes all the tests of the validator.
Solve it. After I downloaded from this link, the certification is work.
But I still want to know is there any sample to implement
IPKRestletServerResourceFactory
. Big thanks.
Hi @monkeyooo , could you please help me? I am facing same issue. It's working only in the mac for my iOS Developer and files are correct. I have added .p12 file and .cer file which the developer sent me.
I had generate a pkpass file by using the sample code. However, the pkpass only could open in macOS. When I using mail to send the file to my iPhone, it can't be opened in iPhone. And I had used the Xcode to see the simulator log. But it only gives me the following error code:
Passbook[1602]: assertion failed: 17G9016 16A366: libxpc.dylib + 79599 [28B7F54A-6A8C-33A0-BA46-FFA5278B041E]: 0x7d
And I had used the tool that apple provide from this document: https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/PassKit_PG/YourFirst.html#//apple_ref/doc/uid/TP40012195-CH2-SW1 But it seems not work for me. Is there anything I had lost? The following is my Json:{ "formatVersion":1, "serialNumber":"123456781200", "passTypeIdentifier":"pass.com.demo123.demo", "authenticationToken":"Y9ULN74QULDAC7PF", "description":"some description", "teamIdentifier":"TEAMID1234568", "organizationName":"your org", "barcodes":[ { "format":"PKBarcodeFormatCode128", "altText":"988765433210", "message":"123456789", "messageEncoding":"ISO-8859-1" } ], "coupon":{ "headerFields":[ { "key":"22222", "label":"Balance", "value":300, "currencyCode":"USD" } ], "primaryFields":[ { "key":"mykey", "label":"INSTRUCTIONS", "value":"Mutiple use with balance", "attributedValue":1000 } ], "auxiliaryFields":[ { "key":"1111111", "label":"Label For AuxiliaryFields", "value":"Value For AuxiliaryFields" } ], "backFields":[ { "key":"key123", "label":"Description", "value":"Giftcard" }, { "key":"key1243", "label":"T & C", "value":"TC" }, { "key":"key1234", "label":"Phone No.", "value":"3256789900865" }, { "key":"key1236", "label":"Website", "value":"https://www.google.com/" } ] }, "sharingProhibited":false }
It seems likely to this issue: https://github.com/drallgood/jpasskit/issues/3 But it seems not work for me.
And is there any sample code for implementing IPKRestletServerResourceFactory?
Thanks for the help.