Impronta digitale SHA-1 del certificato del keystore


459

Il metodo per ottenere un'impronta digitale SHA-1 è uguale al metodo per ottenere un'impronta digitale? In precedenza, stavo eseguendo questo comando:

Prompt dei comandi di Windows che esegue keytool.exe

Non mi è chiaro se il risultato che sto ottenendo è l'impronta digitale SHA-1. Qualcuno può chiarire questo?


Spero che questo link ti possa aiutare. stackoverflow.com/questions/12214467/...
Poras Bhardwaj

Il modo più semplice per ottenere SHA-1 per la modalità di rilascio e debug Android Studio Gradle.
Dai un'occhiata a

esegui questo comando nel tuo terminale: keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore. Richiederà la password del keystore. che puoi trovare dal file "debug.keystore.properties" nella cartella android / keystore
Akhilesh Sinha,

Risposte:


805

Segui questo tutorial per creare l'impronta digitale SHA1 per Google Map v2

Per la modalità debug:

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

per la modalità di rilascio:

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

esempio:

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

Su Windows, quando il comando keytool non viene trovato , vai alla directory JDK installata <YourJDKPath>\Java\jdk1.8.0_231\bin\, ad es . Apri la riga di comando e prova i comandi sopra per la modalità debug / release.


9
~ / è la tua home directory nei sistemi * nix. Sotto Windows, basta usare% USERPROFILE%
Jay Sidri,

1
Se stai scrivendo app Android su Xamarin, usa questo: keytool -list -v -keystore "% USERPROFILE% \ AppData \ Local \ Xamarin \ Mono per Android / debug.keystore" -alias androiddebugkey -storepass android -keypass android
Jay Sidri,

come ottenere il rilascio sha1. Lo sto ricevendo dal mio app.jks ma console.google sta mostrando che è già utilizzato.
عثمان غني,

1
$ keytool -list -v -keystore ~ ​​/ .android / debug.keystore -storepass Android funziona anche solo questo
Napolean

1
Guarda questo per ottenere la chiave SHA-1 usando Android Studio. easybook4u.com/index.php/2017/08/25/…
Himanshu arora

652

Se stai usando Android Studio, usa un semplice passaggio

  1. Esegui il tuo progetto
  2. Fai clic sul menu Gradle
  3. Espandere TasksAlbero dei gradi
  4. Fare doppio clic su android-> signingReporte vedere la magia
  5. Ti dirà tutto nella scheda Esegui

inserisci qui la descrizione dell'immagine

Risultato nella scheda Esegui se Android Studio <2.2
inserisci qui la descrizione dell'immagine

Da Android Studio 2.2 il
risultato sarà disponibile in Esegui console ma utilizza il pulsante di attivazione / disattivazione evidenziato

inserisci qui la descrizione dell'immagine

O
Second Way è
creare un nuovo progetto in Android Studio Nuovo -> Google Maps Activity

inserisci qui la descrizione dell'immagine

quindi apri il file xml google_maps_api.xml come mostrato in foto vedrai la tua chiave SHA

inserisci qui la descrizione dell'immagine


2
La finestra dei miei "progetti graduali" è vuota ... hai idea del perché?
LairdPleng,

1
Apparirà una volta eseguito il progetto nell'emulatore o sul dispositivo
Lokesh Tiwari,

1
Sì, ci ho provato ma non è successo niente. Sembra che, nel mio caso, ho dovuto premere il pulsante "Aggiorna" prima che venisse visualizzato qualcosa!
LairdPleng,

1
sha1 è la stessa chiave per tutte le app? o diverso per ogni app?
Anwar Hossain,

3
Ora appare sotto la scheda "Gradle Console" dallo studio Android 2.2.3
Irfan Raza il

196

Il modo più semplice per ottenere SHA1 Key in Android Studio sia (Modalità debug che versione)

  1. Aperto Android Studio
  2. Apri il tuo progetto
  3. Fai clic su Gradle (dal pannello laterale destro , vedrai la Gradle Bar )
  4. Fai clic su Aggiorna (fai clic su Aggiorna dalla barra dei gradi, vedrai gli script Elenco dei gradi del tuo progetto)
  5. Fai clic sul tuo progetto (elenco dei moduli del nome del tuo progetto)
  6. Fai clic su Attività / Android
  7. Fai doppio clic su signingReport(otterrai SHA1e MD5nella barra di esecuzione)

Se stai usando il nuovo Android Studio mostra il tempo di eseguire in cima c'è Attiva / disattiva modalità di esecuzione attività fai clic su che otterrai la chiave SHA-1. Controlla la 2a e la 3a immagine di riferimento.

Controlla l'immagine per i dettagli inserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagine

Genera SHA-1 per la modalità di rilascio

1-Primo aggiungi la configurazione del keystore nel tuo gradle Come aggiungere la configurazione nel gradle .

2-Dopo aver aggiunto Config nella variante build modifica gradle. inserisci qui la descrizione dell'immagine

3-Quindi seguire la procedura sopra riportata si otterrà SHA-1 per la modalità di rilascio.

4-Verifica immagine. inserisci qui la descrizione dell'immagine


1
Come cambiare la posizione? So come passare a un keystore diverso durante la firma, ma per quanto riguarda quello predefinito?
portfoliobuilder

1
risposta molto dettagliata con immagini, aiuta molto ... molto facile da capire rispetto ad altre risposte qui ... voto
positivo

52

Vai alla tua directory java bin tramite il cmd:

C: \ Programmi \ Java \ jdk1.7.0_25 \ bin>

Ora digita il comando seguente nel tuo cmd:

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

45

Se stai usando eclipse, vai su: Finestra-> Preferenze-> Android-> Build Troverai quello che cerchi lì.

inserisci qui la descrizione dell'immagine


1
Dove posso trovare l'equivalente su Android Studio? Il mio IDE punta a SHA1 sbagliato
portfoliobuilder

42

! [Vai all'estrema sinistra [! [] [1] [1]

Fare riferimento alle seguenti immagini e ottenere la chiave SHA-1 ricaricare

Visualizza nel pannello della console in basso


Accetto: la migliore opzione. "Plused" uno. Ho perso un po 'più di informazioni di testo, ma il percorso principale che hai mostrato. Grazie.
statosdotcom,

1) Devi fare doppio clic sul nome del file.
Sushant Patekar,

39

Esegui il seguente comando per ottenere sha1: keytool -v -list -keystore "< debug.keystore path >"
Se non conosci il percorso di debug.keystore, puoi trovare il tuo debug.keystorepercorso controllandowindows-->preferences-->android-->build

Ho preparato tutorial passo-passo per mostrare come è possibile utilizzare google map android v2 sull'emulatore (Android 4.2.2). Dai
un'occhiata al mio blog: http://umut.tekguc.info/it/content/google-android- map-v2-passo-passo


33

Ho visto molti post su questo problema, quindi lo terrò semplice + esempi.

Per ottenere SHA1 per ClientID per l'accesso con Google+ e altre azioni:

Modulo generale:

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

Per Debug, sostituisci con il tuo percorso debug.keystore, ad esempio:

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

Password: android

Per Release, sostituisci con il percorso del keystore e la password alias, ad esempio:

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

Password: la tua password alias.


1
Funziona alla grande! Ho incluso sia una chiave DEBUG che una chiave RELEASE in console.developer.google.com. Non sono sicuro se entrambi siano davvero necessari. Tuttavia funziona benissimo, dopo aver trascorso 4 ore con questa funzionalità G ** gle.
Vincent,

Se la tua chiave alias ha spazio come "App Moon", aggiungi la doppia citazione "App Moon" come nome alias.
Shihab Uddin,

la soluzione migliore e funzionante, per google clientID avevo bisogno di SHA-1 in modalità di rilascio, altre soluzioni ci danno SHA-1 in modalità di debug
parsa dadras

31

Questo è il processo graduale di ciò che ha funzionato per me.

Prima esegui l'app, quindi segui i passaggi seguenti (mostrati anche nello screenshot)

  1. fai clic sul rapporto di firma
  2. apri la finestra di dialogo console gradle
  3. dovrebbe visualizzare il numero del certificato SHA-1

inserisci qui la descrizione dell'immagine


1
Un vero salvatore! Non so perché la chiave SHA-1 fosse diversa quando generata dal prompt dei comandi e da Android Studio.
Abhishek Mehandiratta,

1
mostra sha1 per il debug, è lo stesso anche per la variante di rilascio?
Sanket Patel,

@SanketPatel hai la versione SHA1?
Oliver D,

no, in realtà ho risolto il mio problema, quindi ho smesso di cercarlo @Oliver
Sanket Patel il

27

Soluzione semplice ...

  1. Apri il tuo progetto in Android Studio.
  2. Fai clic sulla scheda Grado sul lato destro. come sotto

inserisci qui la descrizione dell'immagine

seguire i passaggi come di seguito. 3. Espandere: modulo app -> Attività -> Android -> rapporto di firma. inserisci qui la descrizione dell'immagine

  1. SHA-1 genererà come mostrato nella console

@Ambilpur


L'ho fatto ma ora non riesco più a eseguire il debug della mia app
Giacomo M,

controlla il tuo telefono correttamente collegato al laptop o desktop tramite USB, altrimenti riavvia Studio ... funzionerà.
Ambilpura Sunil Kumar il

Ottimo post, Kumar! Semplice, chiaro ed efficace! Ho appena ottenuto il mio SHA1 per il mio gioco. Quello che devo dire è che SHA1 per la modalità DEBUG per Android Studio e per Eclipse per TUTTI i progetti sono uguali - uno SHA1 per tutti i progetti in AS ed Eclipse.
AlexPap,

Questo è il modo più semplice.
Tarasantan,

Questo mi ha salvato il tempo
jokermt235 il

20

da un Keystore di debug possiamo ottenere il valore SHA1Eclipse . Accesso dal menu: Window-> Preferences-> Android->Build

ma non funziona per una produzione Keystore. inserisci qui la descrizione dell'immagine

Quindi, per ottenere il valore SHA1 da un Keystore di produzione, vai a: Android Tools-> Export Signed Application Package. Segui la procedura per firmare l'apk e SHA1 verrà mostrato come certificato.

inserisci qui la descrizione dell'immagine


17

Utilizzando Google Play firma caratteristica e Google API di integrazione nella tua app?

  1. Se stai utilizzando la firma dell'app di Google Play, non dimenticare che l'impronta digitale del certificato di firma del rilascio necessaria per le credenziali dell'API di Google non è la normale chiave di firma del caricamento (SHA-1) ottenuta dalla tua app con questo metodo:

Carica il certificato di firma

  1. Puoi ottenere il tuo rilascio SHA-1 solo dalla pagina di firma dell'app della tua console di Google Play come mostrato di seguito: -

Se utilizzi la firma dell'app di Google Play, Google firma nuovamente l'app. Ecco come l'impronta digitale del tuo certificato di firma viene fornita dalla firma dell'app di Google Play come mostrato di seguito:

Pagina di firma app - Google Play Console

Ulteriori informazioni Come ottenere la versione SHA-1 (impronta digitale del certificato di firma) se si utilizza "Firma dell'app Google Play"


10

In Gnu / Linux

Primo

È necessario key.jks, ad esempio nel mio caso questo file è nella cartella in / Desktop / Keys

/Desktop/Keys/key.jks

Secondo

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

Ora devi eseguire questo comando

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

sostituendo questi campi

-keystore
-alias
-storepass
-keypass

Per esempio

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

inserisci qui la descrizione dell'immagine

In bocca al lupo!!


8

Innanzitutto c'è lo stesso .jarfile in fb-sdk android-support-v4.jar.
Quindi generare la SHA1chiave utilizzando:

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
Niente a che vedere con i certificati.
Marchese di Lorne,

8

keytool è un'utilità di gestione delle chiavi e dei certificati. Consente agli utenti di amministrare le proprie coppie di chiavi pubbliche / private e i relativi certificati da utilizzare nell'autenticazione automatica (in cui l'utente si autentica con altri utenti / servizi) o servizi di integrità e autenticazione dei dati, utilizzando firme digitali.

Per Windows

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

Altro

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

L'autorizzazione su Android utilizza un'impronta digitale SHA1 e il nome del pacchetto per identificare l'app anziché un ID client e un segreto client .

inserisci qui la descrizione dell'immagine

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


7

Il modo migliore di sempre con tutti i passaggi:

Per il rilascio del keystore SHA1 chiave :

  1. Apri il prompt dei comandi
  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

Sostituisci cosa sotto:

  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

Fatto


7

// il modo più semplice per ottenere SHA1

// aggiungi il seguente comando al tuo terminale e premi invio

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

6

È possibile ottenere MD5 e SHA1 di impronte digitali per qualsiasi spazio di lavoro andando a Window>Preference>Android>Buildin Eclipse .


1
questo farà il lavoro invece di passare attraverso la seccatura di esportare e usare CMD
ssj3goku878,

6

Se stai utilizzando Android Studio IDE, puoi ottenere che SHA1 ha un valore per tutte le varianti di build con un solo clic.

Nella finestra Progetti pendenza > Seleziona progetto radice > firma Rapporto > doppio clic

Navigazione dei file

Il prossimo

Apri la finestra Esegui

Vai a variante: rilascio per rilascio

Vai alla variante: debug per debug

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


Lo faccio ma non ho SHA per il rilascio!
Oliver D,

1
Assicurati di aver aggiunto le credenziali di accesso nella configurazione di accesso nel blocco di rilascio in gradle. Altrimenti non mostrerà il rilascio della chiave sha
Jayakrishnan PM

6

Apri il prompt dei comandi in Windows e vai alla seguente cartella.

C: \ Programmi \ Java \ jdk1.7.0_05 \ bin

Utilizzare i comandi cd <next directory name>per passare alla directory successiva. Usa il comandocd .. per modificare la directory in Prec

Ora digita il seguente comando così com'è:

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

Dopo aver affrontato questo problema per diverse ore, la tua risposta ha salvato la vita della mia app. GRAZIE!!!!
Emzor il


4

Se stai usando Android Studio usa semplici passaggi:

  • Esegui il tuo progetto

  • Fai clic sul menu Gradle

  • Espandere l'albero delle attività Gradle

  • Fai clic su Android-> firma

inserisci qui la descrizione dell'immagine Se non viene visualizzato nulla (Android Studio 2.2), allora

Fare clic su Toggle tasks execution/text modedalla barra di esecuzione



3

Sto usando Ubuntu 12.0.4 e ho ottenuto le impronte digitali del certificato in questo modo per rilasciare l'archivio chiavi sul prompt dei comandi dopo aver generato il file keystore, puoi usare questa chiave per l'app rilasciata, se stai usando google map nella tua app, quindi questo posso mostrare correttamente la mappa all'interno dell'app dopo il rilascio, ho ottenuto il risultato sul prompt dei comandi di seguito

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             

Sulla piattaforma Windows possiamo ottenere il keystore per la modalità debug usando il modo seguente

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


Un altro modo è possibile ottenere questo dettaglio certificazione per la modalità di debug da (1) Fare clic destro sul Gradle barra in Android Studio (2) quindi fare clic su App -> Operazioni -> Android -> signingReports poi su Gradle consolano si ottengono i rapporti
Ghanshyam

3

Oltre alla risposta di Lokesh Tiwar

Per le build di rilascio aggiungere quanto segue nel 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'
        }
    }

}

Ora eseguire il signingReport come nella risposta di Lokesh mostrerebbe anche le chiavi SHA 1 e MD5 per le build di rilascio.

Campione


2

Se stai usando Android Studio questo è molto semplice.

Crea una nuova attività sulla mappa di Google e puoi vedere l'impronta digitale sha1 come sotto l'immagine.

Nuova ATTIVITÀ di Google Map

PUOI VEDERE SHA1 NELL'IMMAGINE SOTTO


1

Prima vai al file jar copia il percorso keytool quindi aggiungi nel percorso di sistema quindi esegui .. spero che questo abbia funzionato ..


1

Se stai utilizzando la firma dell'app di Google Play , invece di ottenere SHA dal keystore, un modo più semplice è quello di accedere a Google Play Console> La tua app> Gestione delle versioni> Firma dell'app e cercare il tuo certificato di caricamento.

Schermata della pagina in cui ottieni queste informazioni


qui vengono mostrati 2 certificati di accesso appignin e caricati signincertificates. Quale devo usare per il rilascio
Harsha,

Per il rilascio è necessario utilizzare il certificato di firma dell'app
ßiansor Å. Ålmerol il

1

Questa soluzione è per Android Studio 3.5 versione:

  1. Apri il tuo progetto in Android Studio.
  2. Fai clic sulla scheda Grado sul lato destro.
  3. Vedremo due cose: uno è il nostro progetto (root) e solo l'app.
  4. Seleziona il nostro progetto nel tuo caso, potrebbe essere la tua app.
  5. Fare clic con il tasto destro sul progetto e aggiornarlo.
  6. Quindi fare clic sul pulsante di rilascio don del progetto.
  7. Fai clic su Attività in cui verrà visualizzata la cartella Android.
  8. Fai doppio clic su SignReport e vedrai i dettagli in Esegui console.

0

Per i locali si ottiene facilmente sha1 da Android Studio ma per il live si prega di controllare sotto l'URL:

Facebook Android Genera Key Hash

Per lo più non abbiamo fatto di seguito i passaggi, quindi controlla il link che è corretto al 100%.

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

9) Ora puoi riavviare il prompt dei comandi o lavorare con il prompt dei comandi esistente

10) tornare all'unità C e indicare il percorso della cartella Bin di openssl

11) copia il seguente codice e incollalo

openssl sha1 -binary debug.txt > debug_sha.txt

12) otterrai debug_sha.txt nella cartella bin di openssl

13) Ancora una volta copia il seguente codice e incollalo

openssl base64 -in debug_sha.txt > debug_base64.txt

14) otterrai debug_base64.txt nella cartella bin di openssl

15) apri il file debug_base64.txt Ecco il tuo hash chiave.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.