Para desenvolvedores Android que gerenciam as próprias chaves de assinatura, a impressão digital do certificado SHA-256 é a identidade criptográfica exclusiva do app. Este guia mostra três métodos para recuperar a chave de um arquivo APK assinado ou do keystore original.
Como recuperar o SHA-256 de um arquivo APK
Esses métodos são úteis se você tiver o arquivo APK final assinado, mas não tiver acesso fácil ao keystore original ou às senhas dele.
Método 1A: usar o apksigner (recomendado para APKs)
A ferramenta apksigner é a maneira mais moderna e confiável de extrair informações de assinatura de um APK, qualquer que seja o esquema de assinatura: V1, V2, V3 ou V4.
Etapa 1: localizar o apksigner
Exemplo: /Users/username/Library/Android/sdk/build-tools/34.0.0/apksigner
Etapa 2: executar o comando
Abra o terminal ou o prompt de comando, navegue até o diretório em que o APK está salvo e execute o seguinte comando:
apksigner verify --print-certs <path/to/your/app.apk>
Etapa 3: localizar a impressão digital SHA-256
A saída vai listar os detalhes do certificado de cada signatário. Localize o rótulo do resumo SHA-256:
Resumo SHA-256 do certificado do signatário 1:
a32a43cd459f7ce6b82c552f5d876989d53e6af1c0b2d35fb677b51a1dc4f0e5
A longa string de caracteres hexadecimais separados por dois-pontos é a impressão digital do certificado SHA-256.
Método 1B: como usar o keytool em um APK
Etapa 1: localizar o keytool e o APK
Confira se você sabe o local do utilitário keytool (parte da instalação do JDK) e do arquivo APK assinado.
Etapa 2: executar o comando
Use o comando a seguir, especificando o arquivo APK assinado como o keystore:
keytool -printcert -jarfile <path/to/your/app.apk>
Etapa 3: localizar a impressão digital SHA-256
A saída vai incluir a seção "Impressões digitais do certificado". Procure a linha SHA-256.
Como recuperar o SHA-256 de um arquivo do keystore
Este é o método padrão para extrair a impressão digital do certificado do arquivo do keystore de origem em qualquer sistema operacional.
Este é o método padrão para extrair a impressão digital do certificado do arquivo do keystore de origem em qualquer sistema operacional.
Método 2: usar o utilitário keytool padrão
Etapa 1: localizar ferramentas e o arquivo do keystore
O que é necessário:
- Arquivo do keystore: o arquivo usado para assinar seu app (.jks ou .keystore). Você precisa saber o caminho, a senha e o nome do alias da chave dentro dele.
- O utilitário keytool: essa ferramenta está incluída no Java Development Kit (JDK).
| Sistema operacional | Local do keytool |
| Windows | Normalmente, no diretório do agrupamento por classes da instalação do JDK (por exemplo, C:\Arquivos de Programas\Java\jdk-xx\bin\). |
| macOS / Linux | Em disponibilidade geral diretamente no terminal depois que o JDK é instalado. |
Etapa 2: navegar até o local correto
Abra o terminal ou o prompt de comando. Para simplificar a próxima etapa, navegue até o diretório que contém o arquivo do keystore:
Exemplo: substituir pelo caminho real
cd /path/to/your/keystore/directory
Etapa 3: executar o comando
Use o comando a seguir para instruir o keytool a listar os detalhes do certificado no modo detalhado.
Observação: se o keytool não for reconhecido, especifique 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 arquivo.
- Substitua [your_key_alias] pelo nome de alias específico da sua chave de assinatura (por exemplo, mykey).
Etapa 4: localizar a impressão digital SHA-256
O utilitário vai pedir a senha do keystore. Depois de inserida, a saída vai mostrar os detalhes do certificado.
Procure a seção Impressões digitais do certificado:
Impressões digitais do 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
Nome do algoritmo de assinatura: SHA256withRSA
...
A longa string de caracteres hexadecimais separados por dois-pontos ao lado de SHA256: é a impressão digital do seu certificado SHA-256 público.