Per gli sviluppatori Android che gestiscono le proprie chiavi di firma, la fingerprint del certificato SHA-256 corrisponde all'identità crittografica univoca dell'app. Questa guida illustra tre metodi per recuperarla da un file APK firmato o dall'archivio chiavi originale.
Recupera la fingerprint SHA-256 da un file APK
Questi metodi sono utili se disponi di un file APK firmato finale, tuttavia potresti non riuscire ad accedere facilmente al'archivio chiavi originale o alle relative password.
Metodo 1A: utilizza apksigner (consigliato per gli APK)
Lo strumento apksigner è il modo più moderno e affidabile per estrarre le informazioni sulla firma da un APK, indipendentemente dal fatto che utilizzi gli schemi di firma V1, V2, V3 o V4.
Passaggio 1: individua apksigner
(Esempio: /Users/username/Library/Android/sdk/build-tools/34.0.0/apksigner)
Passaggio 2: esegui il comando
Apri il terminale o il prompt dei comandi, vai alla directory in cui è salvato l'APK ed esegui questo comando:
apksigner verify --print-certs <path/to/your/app.apk>
Passaggio 3: individua la fingerprint SHA-256
L'output elencherà i dettagli del certificato per ogni signer. Individua l'etichetta del digest SHA-256:
Digest SHA-256 del certificato n.1 del signer:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
La lunga stringa di caratteri esadecimali separati da due punti corrisponde alla fingerprint del certificato SHA-256.
Metodo 1B: utilizza il keytool su un APK
Passaggio 1: individua il keytool e l'APK
Assicurati di conoscere la posizione dell'utilità keytool (fa parte dell'installazione JDK) e del file APK firmato.
Passaggio 2: esegui il comando
Utilizza il seguente comando, specificando il file APK firmato come archivio chiavi:
keytool -printcert -jarfile <path/to/your/app.apk>
Passaggio 3: individua la fingerprint SHA-256
L'output includerà la sezione Fingerprint del certificato. Cerca la riga SHA-256.
Recupera la fingerprint SHA-256 da un file archivio chiavi
Questo è il metodo di riferimento per estrarre la fingerprint del certificato dal file archivio chiavi di origine su qualsiasi sistema operativo.
Questo è il metodo di riferimento per estrarre la fingerprint del certificato dal file archivio chiavi di origine su qualsiasi sistema operativo.
Metodo 2: utilizza l'utilità keytool standard
Passaggio 1: individua gli strumenti e il file archivio chiavi
Requisiti:
- Il file archivio chiavi: il file utilizzato per firmare l'app (.jks o .keystore). Devi conoscere il percorso, la password e il nome alias della chiave al suo interno.
- Utilità keytool: questo strumento è incluso in Java Development Kit (JDK).
| Sistema operativo | Posizione del keytool. |
| Windows | In genere nella directory bin dell'installazione di JDK (ad esempio in C:\Program Files\Java\jdk-xx\bin\). |
| macOS/Linux | Di solito disponibile direttamente nel terminale una volta installato JDK. |
Passaggio 2: vai alla posizione corretta
Apri il terminale o il prompt dei comandi. Per semplificare il passaggio successivo, puoi andare alla directory che contiene il file archivio chiavi:
# Esempio: sostituisci con il percorso effettivo
cd /path/to/your/keystore/directory
Passaggio 3: esegui il comando
Utilizza il seguente comando per chiedere al keytool di elencare le informazioni del certificato in modalità dettagliata.
Nota: se il keytool non viene riconosciuto, è necessario specificare il percorso completo dell'utilità (ad esempio, "/path/to/jdk/bin/keytool").
keytool -list -v -keystore [your_keystore_name.jks] -alias [your_key_alias]
- Sostituisci [your_keystore_name.jks] con il nome effettivo del file.
- Sostituisci [your_key_alias] con il nome alias specifico della tua chiave di firma (ad esempio mykey).
Passaggio 4: individua la fingerprint SHA-256
L'utilità ti chiederà la password dell'archivio chiavi. Una volta inserita, l'output mostrerà i dettagli del certificato.
Cerca la sezione Fingerprint del certificato:
Fingerprint del certificato:
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
Nome dell'algoritmo di firma: SHA256withRSA
…
La lunga stringa di caratteri esadecimali separati da due punti accanto a SHA256: corrisponde alla fingerprint del certificato SHA-256 pubblico.