¿Cómo verificar la firma en un pase de libreta de iOS?

4

La aplicación Passbook en el nuevo iOS6 realiza un seguimiento de las entradas de películas, cupones y otros "pases" para usted, y los pases se cargan en el dispositivo del usuario a través de paquetes de archivos con la extensión .pkpass . Busco escribir un script para verificar la integridad de un archivo pkpass antes de que se instale en su dispositivo móvil, y estoy tratando de verificar la firma criptográfica que se incluye con cada pkpass. de Apple la documentación dice que la firma es una "firma separada PKCS # 7" firmada con el certificado de seguridad suministrado por Apple por el desarrollador. Apple no entra en más detalles, ya que proporcionan su propio signpass para hacer la firma, y la aplicación Passbook por ellos hace la verificación.

Por lo tanto, si observamos algunos de los archivos signature creados en los archivos pkpass , parece que son una estructura de datos de Notación de Sintaxis Abstracta Uno (ASN.1), en formato X.690. Puedo analizar los valores del archivo, pero no hay contexto para ello. Entonces ...

Mi pregunta se reduce a esto; ¿Alguien sabe de una lista del árbol de estructura de datos ASN.1 de las "firmas" que Apple crea? Entonces, espero poder averiguar el formato del archivo de firma y verificar la firma separada en los pases fuera de la aplicación patentada de Apple.

    
pregunta MidnightLightning 26.10.2012 - 13:26
fuente

1 respuesta

2

Parece que no hay nada de propiedad de Apple sobre esto, solo tenía que encontrar el término de búsqueda correcto. un archivo "PKCS # 7 Detached Signature" es un " SignedData tipo" de RFC 2315 "PKCS # 7 : Sintaxis de mensajes criptográficos ".

SignedData ::= SEQUENCE {
     version Version,
     digestAlgorithms DigestAlgorithmIdentifiers,
     contentInfo ContentInfo,
     certificates
        [0] IMPLICIT ExtendedCertificatesAndCertificates
          OPTIONAL,
     crls
       [1] IMPLICIT CertificateRevocationLists OPTIONAL,
     signerInfos SignerInfos
}
    
respondido por el MidnightLightning 26.10.2012 - 22:23
fuente

Lea otras preguntas en las etiquetas