Come verificare la firma in un pass Passbook iOS?

4

L'applicazione Passbook nel nuovo iOS6 tiene traccia di biglietti del cinema, coupon e altri "lasciapassare" per te, e i pass vengono caricati sul dispositivo dell'utente tramite pacchetti di file con l'estensione .pkpass . Sto cercando di scrivere uno script per verificare l'integrità di un file pkpass prima che sia installato sul tuo dispositivo mobile, e sto provando a verificare la firma crittografica che è inclusa in ogni pkpass. di Apple la documentazione dice che la firma è una "firma staccata PKCS # 7" firmata con il certificato di sicurezza fornito dallo sviluppatore di Apple. Apple non fornisce ulteriori dettagli, in quanto forniscono il proprio signpass applicazione per fare la firma, e l'applicazione Passbook da loro fa la verifica.

Quindi, dando uno sguardo ad alcuni dei file signature creati in pkpass file, sembra che siano una struttura di dati Abstract Syntax Notation One (ASN.1), in formato X.690. Posso analizzare i valori del file, ma non c'è un contesto. Quindi ...

La mia domanda si riduce a questo; qualcuno sa di un elenco della struttura della struttura dati ASN.1 delle "firme" create da Apple? Poi, si spera, riesco a capire la formattazione del file della firma e verificare la firma staccata su passaggi esterni all'app proprietaria di Apple.

    
posta MidnightLightning 26.10.2012 - 13:26
fonte

1 risposta

2

Sembra che non ci sia nulla di proprietario di Apple su questo, basta trovare il termine di ricerca giusto. un file "PKCS # 7 Detached Signature" è un " SignedData tipo" di RFC 2315 "PKCS # 7 : Sintassi dei messaggi crittografici ".

SignedData ::= SEQUENCE {
     version Version,
     digestAlgorithms DigestAlgorithmIdentifiers,
     contentInfo ContentInfo,
     certificates
        [0] IMPLICIT ExtendedCertificatesAndCertificates
          OPTIONAL,
     crls
       [1] IMPLICIT CertificateRevocationLists OPTIONAL,
     signerInfos SignerInfos
}
    
risposta data 26.10.2012 - 22:23
fonte

Leggi altre domande sui tag