Impressão digital SHA-1 do certificado keystore


459

O método para obter uma impressão digital SHA-1 é o mesmo que o método para obter uma impressão digital? Anteriormente, eu estava executando este comando:

Prompt de comando do Windows executando keytool.exe

Não está claro para mim se o resultado que estou obtendo é a impressão digital SHA-1. Alguém pode esclarecer isso?



A maneira mais fácil de obter o SHA-1 para lançamento e modo de depuração no android studio gradle. Verifique isto
Naeem Ibrahim

execute este comando no seu terminal: keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore. Ele solicitará sua senha do keystore. que você pode encontrar no arquivo chamado "debug.keystore.properties" na pasta android / keystore
Akhilesh Sinha

Respostas:


805

Siga este tutorial para criar a impressão digital SHA1 para o Google Map v2

Para o modo Debug:

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

para o modo Release:

keytool -list -v -keystore {keystore_name} -alias {alias_name}

exemplo:

keytool -list -v -keystore C:\Users\MG\Desktop\test.jks -alias test

No Windows, quando o comando keytool não for encontrado , acesse o diretório JDK instalado <YourJDKPath>\Java\jdk1.8.0_231\bin\, por exemplo , abra a linha de comando e tente os comandos acima no modo de depuração / liberação.


9
~ / é seu diretório pessoal nos sistemas * nix. No Windows, use% USERPROFILE% #
Jay Sidri 25/11

1
Se você estiver escrevendo aplicativos Android no Xamarin, use: keytool -list -v -keystore "% USERPROFILE% \ AppData \ Local \ Xamarin \ Mono para Android / debug.keystore" -alias androiddebugkey -storepass android -keypass android
Jay Sidri

como obter a versão sha1. Estou obtendo do meu app.jks, mas o console.google está mostrando que já é usado.
عثمان غني

1
$ Keytool -list -v -keystore ~ / .android / debug.keystore -storepass android só isso também funciona
Napoleão

1
Veja isso para obter a chave SHA-1 usando o android studio. easybook4u.com/index.php/2017/08/25/...
Himanshu Arora

652

Se você estiver usando o android studio, use o passo simples

  1. Execute seu projeto
  2. Clique no menu Gradle
  3. Expandir Tasksárvore Gradle
  4. Clique duas vezes em android-> signingReporte veja a mágica
  5. Ele lhe dirá tudo na guia Executar

insira a descrição da imagem aqui

Resultado na guia Executar, se o Android Studio <2.2
insira a descrição da imagem aqui

Do android studio 2.2 O
resultado estará disponível no console Executar, mas use o botão de alternância destacado

insira a descrição da imagem aqui

Ou
Second Way is
Criar novo projeto no android studio Novo -> Atividade do Google Maps

insira a descrição da imagem aqui

abra o arquivo xml google_maps_api.xml, como mostrado nas fotos, você verá sua chave SHA

insira a descrição da imagem aqui


2
A janela 'meus projetos gradle' está vazia ... alguma idéia do porquê disso?
LairdPleng 5/11

1
Ele aparecerá uma vez que você executar o projeto, quer no emulador ou no dispositivo
Lokesh Tiwari

1
Sim, eu tentei isso, mas nada aconteceu. Parece que, no meu caso, eu tive que pressionar o botão 'atualizar' antes que qualquer coisa aparecesse!
LairdPleng

1
A chave sha1 é a mesma para todos os aplicativos? ou diferente para cada aplicativo?
Anwar Hossain

3
Ele agora aparece na guia "Gradle Console" do Android studio 2.2.3
Irfan Raza

196

Maneira mais fácil de obter a SHA1 Key no android studio (modo de depuração e lançamento)

  1. Aberto Android Studio
  2. Abra seu projeto
  3. Clique em Gradle (no painel do lado direito , você verá a barra Gradle )
  4. Clique em Atualizar (Clique em Atualizar na barra Gradle, você verá os scripts List Gradle do seu projeto)
  5. Clique em Seu projeto (lista de formulários Nome do seu projeto)
  6. Clique em Tarefas / Android
  7. Clique duas vezes em signingReport(você receberá SHA1e MD5na barra de execução)

Se você estiver usando o novo Android Studio, ele mostra o tempo para executar no topo. Clique em Alternar modo de execução de tarefas e você receberá a chave SHA-1. Verifique as 2ª e 3ª imagens de referência.

Verifique a imagem para obter detalhes insira a descrição da imagem aquiinsira a descrição da imagem aqui

Gere SHA-1 para o modo de liberação

1-Primeiro adicione a configuração do keystore no seu gradle Como adicionar a configuração no gradle .

2-Após adicionar o Config na variante de compilação da alteração gradle. insira a descrição da imagem aqui

3-Siga o procedimento acima, você obterá o SHA-1 para o modo de liberação.

4-Verifique a imagem. insira a descrição da imagem aqui


1
Como mudar a localização? Eu sei como mudar para um keystore diferente ao assinar, mas e o padrão?
portfoliobuilder

1
resposta muito detalhada com imagens, ajuda muito ... muito fácil de entender do que outras respostas aqui ... up-voto para as imagens em resposta
Shirish Herwade

52

Vá para o diretório java bin através do cmd:

C: \ Arquivos de programas \ Java \ jdk1.7.0_25 \ bin>

Agora digite o comando abaixo no seu cmd:

keytool -list -v -keystore "c:\users\your_user_name\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android 

45

Se você estiver usando o eclipse, vá para: Janela-> Preferências-> Android-> Compilação Você encontrará o que está procurando lá.

insira a descrição da imagem aqui


1
Onde posso encontrar o equivalente no Android Studio? Meu IDE está apontando para o SHA1 errado
portfoliobuilder

42

! [Vá para a extrema esquerda [! [] [1] [1]

Consulte as seguintes imagens e obtenha a chave SHA-1 Atualizar

Visualizar no painel do console na parte inferior


Concordo: melhor opção. "Plused" um. Eu perdi um pouco mais de informações de texto, mas o caminho principal que você mostrou. Obrigado.
Starddotcom:

1) Você deve clicar duas vezes no nome do arquivo.
Sushant Patekar

39

Execute o seguinte comando para obter o sha1: keytool -v -list -keystore "< debug.keystore path >"
Se você não souber o caminho debug.keystore, poderá encontrá-lo debug.keystoremarcandowindows-->preferences-->android-->build

Eu preparei um tutorial passo a passo para mostrar como você pode usar o google map android v2 no emulador (android 4.2.2) e
dar uma olhada no meu blog: http://umut.tekguc.info/en/content/google-android- map-v2-step-step


33

Vi várias postagens sobre esse problema, por isso vou mantê-lo simples + exemplos.

Para obter o SHA1 for ClientID for Login com o Google+ e mais ações:

Forma geral:

keytool -list -v -keystore <your_keystore_full_path> -alias <your_alias_name>

Para Debug, substitua pelo seu caminho debug.keystore, por exemplo:

keytool -list -v -keystore C:\Users\DAVID\.android\debug.keystore -alias androiddebugkey

Senha: android

Para Release, substitua pelo caminho do keystore e senha de alias, por exemplo:

keytool -list -v -keystore C:\ProjectsData\keystore\my-release-key.keystore -alias alias_name 

Senha: sua senha de alias.


1
Funciona bem! Incluí uma chave DEBUG e RELEASE no console.developer.google.com. Não tenho certeza se ambos são realmente necessários. No entanto, ele funciona muito bem, depois de passar 4 horas nesse recurso G ** gle.
Vincent

Se a sua chave de alias tiver espaço como "App Moon", adicione aspas duplas "App Moon" como nome alternativo.
Shihab Uddin

o melhor e solução de trabalho, para o Google clientID eu precisava SHA-1 no modo de versão, outras soluções nos dar a SHA-1 em modo de depuração
Parsa Dadras

31

Este é um processo passo a passo do que funcionou para mim.

Primeiro, execute o aplicativo e siga as etapas abaixo (também mostradas na captura de tela)

  1. clique em assinar relatório
  2. caixa de diálogo abrir console do gradle
  3. deve exibir seu número de certificado SHA-1

insira a descrição da imagem aqui


1
Um verdadeiro salvador! Não sei por que a chave SHA-1 era diferente quando gerada no prompt de comando e no android studio.
Abhishek Mehandiratta 21/02/19

1
mostra sha1 para depuração, é o mesmo para variante de lançamento também?
Sanket Patel

@SanketPatel você tem o release SHA1?
Oliver D

não, na verdade eu resolvi meu problema, então parei de procurá-lo @ Oliver
Sanket Patel

27

Solução Simples ...

  1. Abra seu projeto no estúdio Android.
  2. Clique na guia Gradle no lado direito. como abaixo

insira a descrição da imagem aqui

siga as etapas abaixo. 3. Expanda: módulo de aplicativo -> Tarefas -> Android -> relatório de assinatura. insira a descrição da imagem aqui

  1. O SHA-1 será gerado. Como mostrado no console

@Ambilpur


Eu fiz isso, mas agora eu não sou capaz de depurar meu aplicativo mais
Giacomo M

verifique se o telefone está conectado corretamente ao laptop ou desktop via USB, caso contrário o Reinicia o Studio ... ele funcionará.
Ambilpura Sunil Kumar

Ótimo post, Kumar! Simples, claro e eficaz! Acabei de obter meu SHA1 para o meu jogo. O que tenho a dizer é que o modo SHA1 para DEBUG para Android Studio e Eclipse para TODOS os projetos são iguais - um SHA1 para todos os projetos no AS e no Eclipse.
AlexPap # 3/19

Esta é a maneira mais fácil.
Tarasantan 26/02

Isso economizou meu tempo
jokermt235 5/04

20

de um keystore de depuração, podemos obter o valor SHA1Eclipse . Acessando a partir do menu: Window-> Preferences-> Android->Build

mas não funciona para uma produção Keystore. insira a descrição da imagem aqui

Portanto, para obter o valor SHA1 de um Keystore de produção, vá para: Android Tools-> Export Signed Application Package. Siga o processo para assinar seu apk e o SHA1 será exibido como um certificado.

insira a descrição da imagem aqui


17

Você está usando o recurso de assinatura de aplicativos do Google Play e a integração de APIs do Google no seu aplicativo?

  1. Se você estiver usando a assinatura do aplicativo Google Play, não se esqueça de que a impressão digital de certificado de assinatura necessária para as credenciais da API do Google não é a chave de assinatura de upload comum (SHA-1) que você obtém do aplicativo por este método:

Carregar certificado de assinatura

  1. Você pode obter o seu release SHA-1 somente na página de assinatura do aplicativo do seu console do Google Play, conforme mostrado abaixo: -

Se você usa a assinatura do aplicativo Google Play, o Google assina novamente seu aplicativo. É assim que a impressão digital do seu certificado de assinatura é fornecida pelo Google Play App Signing, como mostrado abaixo:

Página de assinatura do aplicativo - Google Play Console

Leia mais Como obter a versão SHA-1 (impressão digital de certificado de assinatura) se estiver usando 'assinatura do aplicativo Google Play'


10

No Gnu / Linux

Primeiro

Você precisa do key.jks, por exemplo, no meu caso, esse arquivo está na pasta / Desktop / Keys

/Desktop/Keys/key.jks

Segundo

cd /usr/lib/jvm/java-1.7.0-openjdk-amd64

Agora você precisa executar este comando

keytool -list -v -keystore /PATH/file.jks -alias YourAlias -storepass *** -keypass ***

substituindo esses campos

-keystore
-alias
-storepass
-keypass

Por exemplo

 keytool -list -v -keystore /home/david/Desktop/Keys/key.jks -alias MyAlias -storepass 456 -keypass 123

insira a descrição da imagem aqui

Boa sorte!!


8

Primeiro, existe o mesmo .jararquivo em fb-sdk android-support-v4.jar.
Em seguida, gere a SHA1chave usando:

PackageInfo info;
try {

    info = getPackageManager().getPackageInfo(
        "com.example.worldmission", PackageManager.GET_SIGNATURES);

    for (Signature signature : info.signatures) {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String something = new String(Base64.encode(md.digest(), 0));
        Log.e("Hash key", something);
        System.out.println("Hash key" + something);
    }

} catch (NameNotFoundException e1) {
    Log.e("name not found", e1.toString());
} catch (NoSuchAlgorithmException e) {
    Log.e("no such an algorithm", e.toString());
} catch (Exception e) {
    Log.e("exception", e.toString());
}

3
Nada a ver com certificados.
Marquês de Lorne

8

keytool é um utilitário de gerenciamento de chaves e certificados. Ele permite que os usuários administrem seus próprios pares de chaves públicas / privadas e certificados associados para uso na auto-autenticação (onde o usuário se autentica a outros usuários / serviços) ou serviços de integridade e autenticação de dados, usando assinaturas digitais.

Para Windows

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

De outros

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

A autorização no Android usa uma impressão digital SHA1 e um nome de pacote para identificar seu aplicativo em vez de um ID e um segredo do cliente .

insira a descrição da imagem aqui

http://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html


7

A melhor maneira de todas as etapas:

Para a Chave SHA1 do Keystore de Liberação :

  1. Prompt de Comando Aberto
  2. C:\Users\hiren.patel>cd..
  3. C:\Users>cd..
  4. C:\>cd "Program Files"
  5. C:\Program Files>cd Java
  6. C:\Program Files\Java>cd jdk_version_code
  7. C:\Program Files\Java\jdk_version_code>cd bin
  8. C:\Program Files\Java\jdk_version_code\bin>keytool -list -v -keystore "D:\Hiren Data\My Root Folder\My Project Folder\keystore_title.jks" -alias my_alias_name -storepass my_store_password -keypass my_key_password

Substitua abaixo da coisa:

  1. jdk_version_code
  2. D:\Hiren Data\My Root Folder\My Project Folder\keystore_title.jks
  3. my_alias_name
  4. my_store_password
  5. my_key_password

Feito


7

// a maneira mais simples de obter o SHA1

// adicione o seguinte comando ao seu terminal e pressione enter

keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android 

6

Você pode obter MD5 e SHA1 de impressões digitais para qualquer espaço de trabalho, indo para Window>Preference>Android>Buildem Eclipse .


1
isso irá fazer o trabalho em vez de ir até o aborrecimento de exportação e usando CMD
ssj3goku878

6

Se você estiver usando o Android Studio IDE, poderá obter o valor do SHA1 para todas as variantes de compilação com um clique.

Na janela Projetos Gradle> selecione Projeto raiz > signatureReport > clique duas vezes

Navegação de Arquivos

Próximo

Abrir janela de execução

Ir para a variante: lançamento para lançamento

Ir para variante: debug for debug

http://devdeeds.com/create-sha1-key-using-android-studio/


Eu faço isso, mas eu não tenho o SHA para lançamento!
Oliver D

1
Verifique se você adicionou credencial de login na configuração de login no bloco de liberação em gradle. Caso contrário, ele não mostrará a tecla sha de liberação
Jayakrishnan PM

6

Abra o prompt de comando no Windows e vá para a seguinte pasta.

C: \ Arquivos de programas \ Java \ jdk1.7.0_05 \ bin

Use comandos cd <next directory name>para alterar o diretório para o próximo. Use o comando cd ..para alterar o diretório para o Prev

Agora digite o seguinte comando:

keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android

Depois de lutar com esse problema por várias horas, sua resposta salvou a vida do meu aplicativo. OBRIGADO!!!!
Emzor 27/03

5

insira a descrição da imagem aqui

Gradle do lado direito -> projeto de assinatura obtém todas as chaves


4

Se você estiver usando o android studio, siga as etapas simples:

  • Execute seu projeto

  • Clique no menu Gradle

  • Expandir árvore de tarefas Gradle

  • Clique em android-> signatureReport

insira a descrição da imagem aqui Se não houver nada exibido (android studio 2.2),

Clique na Toggle tasks execution/text modebarra Executar



3

Estou usando o Ubuntu 12.0.4 e recebo as impressões digitais do certificado para o armazenamento de chaves de lançamento no prompt de comando após gerar o arquivo keystore, você pode usar essa chave para o aplicativo lançado, se estiver usando o google map no seu aplicativo, pode mostrar o mapa corretamente dentro do aplicativo após o lançamento, obtive o resultado no prompt de comando abaixo

administrator@user:~$ keytool -list -v -keystore /home/administrator/mykeystore/mykeystore.jks -alias myprojectalias

 
Enter keystore password:  ******

Alias name: myprojectalias

Creation date: 22 Apr, 2014

Entry type: PrivateKeyEntry

Certificate chain length: 1
Certificate[1]:
Owner: CN=xyz, OU= xyz, O= xyz, L= xyz, ST= xyz, C=91
Issuer: CN= xyz, OU= xyz, O= xyz, L= xyz, ST= xyz, C=91

Serial number: 7c4rwrfdff
Valid from: Fri Apr 22 11:59:55 IST 2014 until: Tue Apr 14 11:59:55 IST 2039

Certificate fingerprints:
     MD5:  95:A2:4B:3A:0D:40:23:FF:F1:F3:45:26:F5:1C:CE:86
     SHA1: DF:95:Y6:7B:D7:0C:CD:25:04:11:54:FA:40:A7:1F:C5:44:94:AB:90
     SHA276: 00:7E:B6:EC:55:2D:C6:C9:43:EE:8A:42:BB:5E:14:BB:33:FD:A4:A8:B8:5C:2A:DE:65:5C:A3:FE:C0:14:A8:02
     Signature algorithm name: SHA276withRSA
     Version: 2

Extensions: 

 ObjectId: 2.6.28.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 1E A1 57 F2 81 AR 57 D6   AC 54 65 89 E0 77 65 D9  ..W...Q..Tb..W6.
0010: 3B 38 9C E1             

Na plataforma Windows, podemos obter o keystore para o modo de depuração usando o caminho abaixo

C:\Program Files\Java\jdk1.8.0_102\bin>keytool -l
.android\debug.keystore -alias androiddebugkey -s
id
Alias name: androiddebugkey
Creation date: Oct 21, 2016
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: C=US, O=Android, CN=Android Debug
Issuer: C=US, O=Android, CN=Android Debug
Serial number: 1
Valid from: Fri Oct 21 00:50:00 IST 2016 until: S
Certificate fingerprints:
         MD5:  86:E3:2E:D7:0E:22:D6:23:2E:D8:E7:E
         SHA1: B4:6F:BE:13:AA:FF:E5:AB:58:20:A9:B
         SHA256: 15:88:E2:1E:42:6F:61:72:02:44:68
56:49:4C:32:D6:17:34:A6:7B:A5:A6
         Signature algorithm name: SHA1withRSA


Outra maneira de obter esses detalhes de certificação para o modo de depuração em (1) Clique com o botão direito do mouse na barra Gradle no android studio (2) e clique em app -> Tarefas -> android -> signatureReports e, no console Gradle, você receberá os relatórios
Ghanshyam

3

Além da resposta de Lokesh Tiwar

Para versões de lançamento, adicione o seguinte no gradle:

android {

defaultConfig{
//Goes here
}

    signingConfigs {
        release {
            storeFile file("PATH TO THE KEY_STORE FILE")
            storePassword "PASSWORD"
            keyAlias "ALIAS_NAME"
            keyPassword "KEY_PASSWORD"
        }
    }
buildTypes {
        release {
            zipAlignEnabled true
            minifyEnabled false
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

Agora, executar o signatureReport como na resposta de Lokesh mostraria também as chaves SHA 1 e MD5 para a compilação do release.

Amostra


2

Se você estiver usando o Android studio, isso é muito simples.

Crie uma nova atividade no mapa do Google e você poderá ver a impressão digital sha1 como abaixo da imagem.

Nova atividade do Google Map

VOCÊ PODE VER SHA1 EM IMAGEM ABAIXO


1

Primeiro, vá para o arquivo jar, copie o caminho do keytool, adicione-o no caminho do sistema e execute-o. Espero que este funcione.


1

Se você estiver usando a assinatura do aplicativo Google Play , em vez de obter o SHA do keystore, uma maneira mais fácil é acessar o Google Play Console> Seu aplicativo> Gerenciamento de Liberação> Assinatura do aplicativo e procurar seu certificado de upload.

Captura de tela da página onde você obtém essas informações


aqui mostrando 2 signin certificados appsignin e carregado um signincertificates.which eu preciso usar para a liberação
Harsha

Para a liberação, você precisa usar o certificado de assinatura do aplicativo
ßiansor Å. Ålmerol 14/04

1

Esta solução é para a versão android studio 3.5:

  1. Abra seu projeto no estúdio Android.
  2. Clique na guia Gradle no lado direito.
  3. Verá duas coisas, uma é o nosso projeto (raiz) e apenas o aplicativo.
  4. Selecione nosso projeto no seu caso, pode ser seu aplicativo.
  5. Clique com o botão direito do mouse no projeto e atualize-o.
  6. Em seguida, clique no botão drop don do projeto.
  7. Clique nas tarefas onde verá a pasta android.
  8. Clique duas vezes em signatureReport e verá os detalhes no console Executar.

0

Para o local, você obtém facilmente sha1 do android studio, mas, ao vivo, verifique abaixo o URL:

Facebook Android Gerar Hash de Chaves

Na maioria das vezes, não seguimos as etapas abaixo. Verifique o link 100% correto.

8) If you see in openssl Bin folder, you will get a file with the name of debug.txt

9) Agora você pode reiniciar o prompt de comando ou trabalhar com o prompt de comando existente

10) volte para a unidade C e forneça o caminho da pasta openssl Bin

11) copie o seguinte código e cole

openssl sha1 -binary debug.txt > debug_sha.txt

12) você receberá debug_sha.txt na pasta openssl bin

13) Copie novamente o código a seguir e cole

openssl base64 -in debug_sha.txt > debug_base64.txt

14) você receberá debug_base64.txt na pasta openssl bin

15) abra o arquivo debug_base64.txt Aqui está o seu hash da chave.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.