En el caso de los desarrolladores de Android que administran sus propias claves de firma, la huella digital del certificado SHA-256 es la identidad criptográfica única de sus apps. En esta guía, se muestran tres métodos para recuperarla desde un archivo APK firmado o desde el almacén de claves original.
Cómo recuperar el SHA-256 desde un archivo APK
Estos métodos son útiles si tienes el archivo APK final firmado, pero tal vez no puedas acceder fácilmente al almacén de claves original o a sus contraseñas.
Método 1A: Uso de apksigner (recomendado para APKs)
La herramienta apksigner es la forma más moderna y confiable de extraer información de la firma de un APK, independientemente de si usa esquemas de firma V1, V2, V3 o V4.
Paso 1: Busca apksigner
(Ejemplo: /Usuarios/nombredeusuario/Biblioteca/Android/sdk/build-tools/34.0.0/apksigner)
Paso 2: Ejecuta el comando
Abre la terminal o el símbolo del sistema, navega al directorio en el que se guardó tu APK y ejecuta el siguiente comando:
apksigner verify --print-certs <path/to/your/app.apk>
Paso 3: Busca la huella digital SHA-256
El resultado mostrará los detalles del certificado de cada firmante. Busca la etiqueta del resumen de SHA-256:
Resumen de SHA-256 del certificado del firmante 1:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
La cadena larga de caracteres hexadecimales separados por dos puntos es la huella digital del certificado SHA-256.
Método 1B: Uso de keytool en un APK
Paso 1: Busca keytool y el APK
Asegúrate de conocer la ubicación de la utilidad keytool (que forma parte de la instalación del JDK) y del archivo APK firmado.
Paso 2: Ejecuta el comando
Usa el siguiente comando y especifica el archivo APK firmado como almacén de claves:
keytool -printcert -jarfile <path/to/your/app.apk>
Paso 3: Busca la huella digital SHA-256
El resultado incluirá una sección de huellas digitales del certificado. Busca la línea SHA-256.
Cómo recuperar el SHA-256 de un archivo de almacén de claves
Este es el método por excelencia para extraer la huella digital del certificado del archivo de almacén de claves de origen en cualquier sistema operativo.
Este es el método por excelencia para extraer la huella digital del certificado del archivo de almacén de claves de origen en cualquier sistema operativo.
Método 2: Usa la utilidad keytool estándar
Paso 1: Busca las herramientas y el archivo de almacén de claves
Necesitarás lo siguiente:
- Tu archivo de almacén de claves: Es el archivo que se usa para firmar tu app (.jks o .keystore). Debes conocer su ruta de acceso, la contraseña y el nombre del alias de la clave que contiene.
- La utilidad keytool: Esta herramienta se incluye en el kit de desarrollo de Java (JDK).
| Sistema operativo | Ubicación de keytool |
| Windows | Por lo general, se encuentra en el directorio bin de la instalación del JDK (por ejemplo, C:\Archivos de programa\Java\jdk-xx\bin\). |
| macOS/Linux | Generalmente, está disponible directamente en tu terminal una vez que se instala el JDK. |
Paso 2: Navega a la ubicación correcta
Abre la terminal o el símbolo del sistema. Para simplificar el siguiente paso, puedes navegar al directorio que contiene tu archivo de almacén de claves:
# Ejemplo: Reemplaza el código con tu ruta de acceso real
cd /path/to/your/keystore/directory
Paso 3: Ejecuta el comando
Usa el siguiente comando para indicarle a keytool que muestre los detalles del certificado en modo detallado.
Nota: Si no se reconoce keytool, debes especificar la ruta de acceso completa a la utilidad (por ejemplo, "/path/to/jdk/bin/keytool").
keytool -list -v -keystore [nombre_de_tu_almacen_de_claves.jks] -alias [alias_de_la_clave]
- Reemplaza [nombre_de_tu_almacen_de_claves.jks] por el nombre real de tu archivo.
- Reemplaza [alias_de_la_clave] por el nombre de alias específico de tu clave de firma (por ejemplo, mykey).
Paso 4: Busca la huella digital SHA-256
La utilidad te pedirá la contraseña del almacén de claves. Una vez que se ingrese, el resultado mostrará los detalles del certificado.
Busca la sección de huellas digitales del certificado:
Huellas digitales del certificado:
SHA1: XX:XX:XX:XX:XX:...
SHA256: 0A:B3:C6:D9:E2:F5:81:B4:C7:D0:E3:F6:92:A5:B8:C1:D4:E7:F0:83:96:A9:BC:D1:E4:F7:03:96:A9:BC:D1:E4
Nombre del algoritmo de firma: SHA256withRSA
...
La cadena larga de caracteres hexadecimales separados por dos puntos junto a SHA256: es la huella digital de tu certificado SHA-256 público.