Bestätigung des Apple-Belegs mit Scala / Java [geschlossen]

8

Ich habe ein Scala-Backend, in dem ich In-App-Kaufbelege validieren möchte, ohne mich auf den Remote-App-Store-Service verlassen zu müssen, der zusätzliche Verzögerungen und einen zusätzlichen Fehlerpunkt mit sich bringt.

Daher möchte ich die in der Quittung enthaltene PKCS # 7-Signatur lokal validieren.

Apple hat einige Dokumente zum Thema auf dem folgenden Link, aber es verwendet die iOS Objective-C API, und ich hatte einige Probleme damit, dies der Java-Sicherheits-API zuzuordnen.

Aus dem Receipt Validation Programming Guide , Codeliste 1- 4:

%Vor%

Ich habe online ein paar Lösungen gefunden, die verschiedene APIs (Oracle-Sicherheit, Sun-Sicherheit, Bouncy Castle) und verschiedene Methoden innerhalb derselben API verwenden, aber keine davon scheint zu funktionieren. Und keiner von ihnen scheint so einfach zu sein, dass jemand ohne viel Sicherheitswissen herausfinden könnte, warum.

Eine Sache, die mich verwirrt, ist, dass einige Methoden die Signatur und den unsignierten Inhalt verwenden, um zu überprüfen, ob sie übereinstimmen, aber andere (einschließlich Apples Codebeispiel) die Signatur selbst validieren, indem sie nur das Zertifikat verwenden, das sie signiert hat. Welcher Ansatz ist richtig?

Kann jemand mich in die richtige Richtung weisen (rechte Bibliothek, Tutorial, Codebeispiel, etc.)?

Danke!

    
vaudeville 04.11.2014, 19:24
quelle

0 Antworten