0 votos

¿Cómo calcular/verificar el SHA-256-Digest del archivo META-INF/*.SF?

Estoy tratando de verificar manualmente una Archivo APK de la forma en que Android lo haría cuando ese archivo se instala en algún sistema antiguo (<7). Tengo un problema que no puedo resolver.

Dicen que lo siguiente:

Como puede ver, el archivo de la firma contiene entradas de resumen para el archivos que se parecen a las entradas de valor de la digestión en el se manifiesta. Sin embargo, mientras que los valores digeridos en el manifiesto son calculados a partir de los propios archivos, los valores de resumen de la firma se calculan a partir de las entradas correspondientes del manifiesto.

Así que en este caso, tenemos un ejemplo de entrada de la META-INF/MANIFEST.MF que es el siguiente:

Name: FingerprintProtocol.proto
SHA-256-Digest: WQ9R/MGV5m9Dye4Jtl3MiLRmX2RPoEPeinb3me7wnAU=

Ahora tomamos la entrada correspondiente de la META-INF/*.SF que se parece a este:

Name: FingerprintProtocol.proto
SHA-256-Digest: fWL5eppUj0x6UVdPqHusFkpDbXpq7P0sqchfublqEnA=

La pregunta es: ¿Cómo fue fWL5eppUj0x6UVdPqHusFkpDbXpq7P0sqchfublqEnA calculada?

0voto

pr0nin Puntos 353

Estás intentando verificar el APK usando la vieja y anticuada firma JAR (alias esquema de firma APK v1). Este tipo de firma está desactualizada para Android ya que hay algunos escenarios de ataque en los que un archivo existe varias veces dentro del archivo APK/ZIP.

Por lo tanto, cuando se verifica un archivo APK, se debe confiar en el esquema de firma APK. v2 / v3 si está presente en el archivo APK. El proceso de verificación actual está documentado aquí: Proceso de verificación de la firma APK

El SDK de Android viene con una herramienta llamada apksigner.jar (también puede utilizarse como en sus propios programas de Java ) que permite verificar un archivo APK utilizando el método más reciente disponible.

Para más detalles sobre el apksigner y cómo usarlo vea esta respuesta: https://Android.stackexchange.com/a/218161/2241

0voto

nalo Puntos 288

Parece que la sección incluye algunos espacios en blanco y no sólo el texto. Todo el código que debe ser marcado es el siguiente:

enter image description here

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X