Para os programadores Android que gerem as suas próprias chaves de assinatura, a impressão digital do certificado SHA-256 é a identidade criptográfica exclusiva da sua app. Este guia mostra três métodos para a obter a partir de um ficheiro APK assinado ou do repositório de chaves original.
Receber o SHA-256 a partir de um ficheiro APK
Estes métodos são úteis se tiver o ficheiro APK final assinado, mas não tiver acesso fácil ao repositório de chaves original ou às respetivas palavras-passe.
Método 1A: usar o apksigner (recomendado para APKs)
A ferramenta apksigner é a forma mais moderna e fiável de extrair informações de assinatura de um APK, independentemente de usar esquemas de assinatura V1, V2, V3 ou V4.
Passo 1: localize o apksigner
(Exemplo: /Users/username/Library/Android/sdk/build-tools/34.0.0/apksigner)
Passo 2: execute o comando
Abra o terminal ou a linha de comandos, navegue para o diretório onde o APK está guardado e execute o seguinte comando:
apksigner verify --print-certs <path/to/your/app.apk>
Passo 3: localize a impressão digital SHA-256
O resultado apresenta os detalhes do certificado de cada signatário. Localize a etiqueta do resumo SHA-256:
Resumo SHA-256 do certificado do signatário n.º 1:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
A string longa de carateres hexadecimais separados por dois pontos é a impressão digital do certificado SHA-256.
Método 1B: usar o utilitário keytool num APK
Passo 1: localize o utilitário keytool e o APK
Certifique-se de que conhece a localização do utilitário keytool (parte da instalação do JDK) e do ficheiro APK assinado.
Passo 2: execute o comando
Use o seguinte comando, especificando o ficheiro APK assinado como o repositório de chaves:
keytool -printcert -jarfile <path/to/your/app.apk>
Passo 3: localize a impressão digital SHA-256
O resultado inclui a secção Impressões digitais de certificados. Procure a linha SHA-256.
Obter o SHA-256 a partir de um ficheiro de repositório de chaves
Este é o método de facto para extrair a impressão digital do certificado do ficheiro de repositório de chaves de origem em qualquer sistema operativo.
Este é o método de facto para extrair a impressão digital do certificado do ficheiro de repositório de chaves de origem em qualquer sistema operativo.
Método 2: usar o utilitário keytool padrão
Passo 1: localize as ferramentas e o ficheiro de repositório de chaves
Precisa do seguinte:
- O ficheiro de repositório de chaves: o ficheiro usado para assinar a sua app (.jks ou .keystore). Tem de saber o respetivo caminho e palavra-passe, bem como o nome do alias da chave no interior.
- O utilitário keytool: esta ferramenta está incluída no Java Development Kit (JDK).
| Sistema operativo | Localização do utilitário keytool |
| Windows | Normalmente, no diretório bin da instalação do JDK (por exemplo, C:\Program Files\Java\jdk-xx\bin\). |
| macOS/Linux | Geralmente, disponível diretamente no seu terminal assim que o JDK estiver instalado. |
Passo 2: navegue para a localização correta
Abra o terminal ou a linha de comandos. Para simplificar o passo seguinte, pode navegar para o diretório que contém o ficheiro de repositório de chaves:
# Exemplo: substitua pelo caminho real
cd /path/to/your/keystore/directory
Passo 3: execute o comando
Use o seguinte comando para dar instruções ao utilitário keytool para listar os detalhes do certificado no modo detalhado.
Nota: se o utilitário keytool não for reconhecido, tem de especificar o caminho completo para o utilitário (por exemplo, "/path/to/jdk/bin/keytool").
keytool -list -v -keystore [your_keystore_name.jks] -alias [your_key_alias]
- Substitua [your_keystore_name.jks] pelo nome real do seu ficheiro.
- Substitua [your_key_alias] pelo nome do alias específico da sua chave de assinatura (por exemplo, mykey).
Passo 4: localize a impressão digital SHA-256
O utilitário pede-lhe a palavra-passe do repositório de chaves. Depois de introduzido, o resultado apresenta os detalhes do certificado.
Procure a secção Impressões digitais de certificados:
Impressões digitais de certificados:
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 do algoritmo de assinatura: SHA256withRSA
…
A string longa de carateres hexadecimais separados por dois pontos junto a SHA256: é a impressão digital do certificado SHA-256 público.