it-swarm.com.de

Wie erhalte ich einen Fingerabdruck eines Signaturzertifikats (SHA1) für OAuth 2.0 unter Android?

Ich versuche, meine Android-App zu registrieren, indem Sie die Schritte in https://developers.google.com/console/help/#installed_applications befolgen, was mich dazu veranlasst http://developer.Android zu folgen .com/tools/publishing/app-signing.html .

Ich bin mir jedoch nicht sicher, wie ich den Fingerabdruck des Signaturzertifikats (SHA1) erhalten kann. 

Ich habe zuerst das Eclipse ADT-Plugin verwendet, um den Keystore/Schlüssel zu exportieren und zu erstellen. __ Dann versuchte ich keytool -list keystore mykeystore.keystore, und es gibt mir ein MD5-Zertifikat-Fingerabdruck. Muss ich die Signatur erneut durchführen (was bedeutet, dass ich den Eclipse-Exportassistenten nicht verwenden kann)? 

Kann ich zuerst ein Debug-Zertifikat verwenden?

142
Alex

Starten Sie einen Exportvorgang, um eine apk für Ihre App zu erstellen, und verwenden Sie Ihren Produktionsschlüssel. Auf der letzten Seite werden sowohl die Fingerabdrücke des SHA1- als auch des MD5-Zertifikats angezeigt enter image description here

173

Ich weiß, dass diese Frage beantwortet wurde, aber so habe ich meine Signatur für den Standardschlüsselspeicher gefunden. In Eclipse gehen Sie zu Windows -> Einstellungen -> Android -> Erstellen

enter image description here

138
Nick

Ich denke, das wird perfekt funktionieren. Ich habe das selbe benutzt:

Für Android Studio:

  1. Klicken Sie auf Build> Generate Signed APK.
  2. Sie erhalten eine Meldung, klicken Sie einfach auf OK.
  3. Jetzt gibt es ein weiteres Fenster, kopieren Sie einfach Schlüsselspeicherpfad.
  4. Öffnen Sie nun eine Eingabeaufforderung und wechseln Sie zu C:\Programme\Java\jdk1.6.0_39\bin> (oder zu einer beliebigen installierten jdk-Version).
  5. Geben Sie keytool -list -v -keystore ein und fügen Sie dann Ihren Key Store Path ein (z. B. C:\Programme\Java\jdk1.6.0_39\bin> keytool -list) -v -keystore "E:\Meine Projekte\Android\android studio\signierte apks\Hello World\HelloWorld.jks").
  6. Jetzt werden Sie gefragt: Key Store Password, geben Sie Ihr Passwort ein und drücken Sie Enter Sie erhalten Ihre SHA1- und MD5-Zertifikatsschlüssel.
86
Ravi

verwenden Sie dies in der Befehlszeile 

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key
66
Dan Jurgen

Wenn Sie einen Mac oder sogar Linux verwenden, kopieren Sie dies und fügen Sie es in die Anwendung Terminal ein. Der Schlüssel SHA1 wird sofort angezeigt. Keine Notwendigkeit, etwas zu ändern.

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

Beispielausgabe:

Alias name: androiddebugkey
Creation date: 17 Feb 12
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Android Debug, O=Android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 4f3dfc69
Valid from: Fri Feb 17 15:06:17 SGT 2012 until: Sun Feb 09 15:06:17 SGT 2042
Certificate fingerprints:
     MD5:  11:10:11:11:11:11:11:11:11:11:11:11:11:11:11:11
     SHA1: 11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:01:11
     Signature algorithm name: SHA1withRSA
     Version: 3
62

Öffnen Sie das Terminal (in Unix , inMAC), (cmd in Windows ) und cd in diesem Pfad (Ihrem Java):

C:\Program Files\Java\jdk1.6.0_43\bin>

Führen Sie diesen Befehl aus:

keytool -list -v -keystore C:\Users\leon\.Android\debug.keystore -alias androiddebugkey -storepass Android -keypass Android

Ändern Sie einfach den Pfad zu debug.keystore und Sie erhalten sowohl MD5- als auch SHA-1-Fingerabdrücke.

57
gurkan
keytool -list -v -keystore "keyStoreName"

Führen Sie diesen Befehl in dem Verzeichnis aus, in dem sich der Keystore Ihrer App befindet.

38
Manmohan Soni

Wenn Sie IntelliJ (12+?) Verwenden, gehen Sie zu Menü Erstellen/Generierte Api erstellen  

Nachdem Sie ein Popup ausgefüllt haben, rufen Sie die Daten in das Feld "Key Store Path" auf (z. B. C:\Users\User\Documents\Store\Store)

Und in einer Befehlszeile ausführen:

>keytool -list -v -keystore "C:\Users\user\Documents\store\store"

....
         MD5: 11:C5:09:73:50:A4:E5:71:A2:26:13:E0:7B:CD:DD:6B
    -->  SHA1: 07:0B:0E:E8:F7:22:59:72:6A:1C:68:05:05:CF:2E:6F:59:43:48:99
         SHA256: E6:CE:DA:37:C1:18:43:C1:A3:F0:9E:8F:1A:C2:69:AF:E6:41:F7:C0:18:
1D:1D:55:5D:F0:52:6C:EE:77:84:A7
...

Viel Glück

12
xyz

Wenn Sie Google Map verwenden möchten, benötigen Sie MD5-Fingerabdruck zum Generieren von api kay für die Verwendung von Google Map in Ihrer Android-Anwendung.

Der Befehl keytool generiert MD5 Fingerprint, wenn Sie JDK 1.6 verwenden, und er generiert SHA1 Fingerprint, wenn Sie JDK 1.7 verwenden.

Wenn Sie also Ihre Anwendung für die Veröffentlichung unterzeichnen möchten, lesen Sie this .

Und wenn Sie google-map verwenden möchten, lesen Sie this .

12
Akshay

Führen Sie in Android Studio die folgenden Schritte aus:

  1. Klicken Sie auf der rechten Seite der Android Studio-IDE auf das Menü Gradle-Eigenschaften.
  2. Erweitern Sie den Aufgabenbaum.
  3. Klicken Sie auf signingReport Sie sehen Ihren SHA1 in der unteren Konsole

 enter image description here

12
Harunduet

Wenn jemand das Android Studio benutzt ... 

klicken Sie auf: Erstellen> Generiert in APK generiert Erstellen Sie einen neuen Schlüssel: Dadurch werden ".jks" -Dateien generiert

Verwenden Sie den folgenden Befehl, um die Daten zu lesen (SHA1 und andere Informationen):

$ keytool -list -v -keystore Dateiname.jks

11
Vinod Joshi

Für diejenigen, die OpenSSL verwenden, können Sie den SHA1-Fingerabdruck auf folgende Weise abrufen:

OpenSSL> dgst -sha1 my-release-key.keystore

Was zu folgender Ausgabe führen würde:

enter image description here

4
TaeKwonJoe

Wenn Sie Android Studio verwenden. Sie können den SHA1-Zertifikat Fingerabdruck (Debug, Release ... alle Build-Typen !!) schnell durch Gradle-Aufgaben erhalten:

signingReport

SHA1 wird in Messages Logs angezeigt.

Android Plugin (in der Gradle-App konfiguriert) erstellt einen Debug-Modus für die Standardeinstellung. 

com.Android.application

Dateiroute zum Keystore: 

HOME/.Android/debug.keystore

Ich empfehle attach debug.keystore für build.gradle. Legen Sie dazu die Datei debug.keystore in einem App-Ordner ab und fügen Sie in Gradle App SigningConfigs hinzu:

apply plugin: 'com.Android.application'

    Android {
        ................
        signingConfigs {
            debug {
                storeFile file("../app/debug.keystore")
                storePassword "Android"
                keyAlias "androiddebugkey"
                keyPassword "Android"
            }
            release {
                storeFile file("../app/debug.keystore")
                storePassword "Android"
                keyAlias "androiddebugkey"
                keyPassword "Android"
            }
        }    
        ........
    }

Extra: Wenn Sie zur Veröffentlichung erstellen möchten, legen Sie eine Datei release.keystore in einem App-Ordner ab. (In diesem Beispiel wird derselbe debug.keystore verwendet.)

3
SergioLucas

Versuchen Sie Folgendes: Windows ---- Voreinstellungen ---- Android - Build --- sh1-Code von hier kopieren

3
Ravind Maurya

Wenn Sie Android Studio verwenden. Sie müssen keinen SHA1-Fingerabdruck mit cmd Prompt erstellen. Sie müssen lediglich ein Projekt mit der Standardaktivitäten von Google Maps für Android Studio erstellen. Im Projekt können Sie den Fingerabdruck in google_maps_api.xml im Ordner "Werte" abrufen. Hoffe, das wird dir helfen. :)

 enter image description here

3
Poras Bhardwaj

Ich war das erste Mal so verwirrend, aber ich schlage vor, Sie endgültige Arbeitslösung für Windows:

1) Öffne cmd und gehe in dein Java/jdk/bin Verzeichnis (drücke einfach cd .. um einen Ordner zurück zu gehen und cd NAME_FOLDER um einen Ordner weiter zu gehen), in meinem Fall letzter Ordner: C:\Program Files\Java\jdk1.8.0_73\bin>enter image description here

2) Geben Sie nun diesen Befehl ein keytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.Android\debug.keystore -alias androiddebugkey -storepass Android -keypass Android

Als Ergebnis muss man so etwas bekommen: enter image description here

3
Choletski

Hier ist meine einfache Lösung dafür:

Klicken Sie auf die Schaltfläche Gradle, die Sie oben rechts finden. Sie sehen alle Gradle-Dateien. Gehen Sie jetzt zu Android und doppelklicken Sie auf signingReport. Sobald der Gradle-Build abgeschlossen ist, wird die Taste SHA angezeigt. Überprüfen Sie die nachstehenden Bilder für eine schrittweise Anleitung.

Wenn Sie auf Gradle klicken, überprüfen Sie die folgenden Bilder. Hoffe das hilft jemandem.

SCHRITT 1:

Image Step one

SCHRITT 2:

Image Step two

3
basavaraj_gowda

Wenn Sie mit Mac/Linux arbeiten, können Sie den SHA1-Fingerabdruck abrufen, indem Sie folgende Zeile in das Terminal schreiben:

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

Danach sind 2 Dinge möglich

  1. Sie werden nach dem Passwort gefragt

    Schreib einfach 

Android

drücken Sie die Eingabetaste, um die SHA1-Taste in der unten gezeigten Ausgabe zu finden.

  1. Sie werden aufgefordert, ein geeignetes Programm herunterzuladen (und eine Liste wird gegeben.).

    Geben Sie einfach folgendes in terminal ein

Sudo apt installieren openjdk-8-jre-headless

und führen Sie dann im Terminal folgendes erneut aus: keytool -list -v -keystore ~/.Android/debug.keystore -alias androiddebugkey -storepass Android -keypass Android

Dieses Mal werden Sie zu Schritt 1 geführt, in dem Sie einfach das Kennwort eingeben müssen 

Android

und Sie erhalten Ihren SHA1-Fingerabdruck unten in der Ausgabe.

1
Akshay Chopra

Ich denke, das wird perfekt funktionieren. Ich habe das gleiche benutzt:

Für Android Studio:

Klicken Sie auf Erstellen> Generiert Signiertes APK . Sie erhalten ein Meldungsfeld, klicken Sie einfach auf OK.

Nun wird ein weiteres Fenster angezeigt, indem Sie einfach den Schlüsselspeicherpfad kopieren.

Öffnen Sie nun eine Eingabeaufforderung, und wechseln Sie zu C:\Programme\Java\jdk1.6.0_39\bin> (oder einer beliebigen installierten Jdk-Version).

Geben Sie keytool -list -v -keystore ein und fügen Sie dann Ihren Key Store-Pfad ein (z. B. C:\Programme\Java\jdk1.6.0_39\bin> keytool -list -v -keystore "E:\Meine Projekte\Android\android") studio\signierte apks\Hello World\HelloWorld.jks ").

Jetzt werden Sie nach dem Schlüsselspeicher-Kennwort gefragt, geben Sie Ihr Kennwort ein und drücken Sie die Eingabetaste, um Ihre SHA1- und MD5-Zertifikatschlüssel zu erhalten.

Fügen Sie diesen SHA1-Schlüssel jetzt in der Registerkarte für Anmeldeinformationen der Google Developer Console hinzu und ändern Sie die Build-Varianten in Android Studio in den Freigabemodus. 

1
Rishab Jain

Für diejenigen auf Mac, die nach Keytool suchen. folge diesen Schritten:

Stellen Sie zunächst sicher, dass Sie Java JDK http://docs.Oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html installieren.

Geben Sie dann den folgenden Befehl in die Eingabeaufforderung ein:

/usr/libexec/Java_home -v 1.7

es wird etwas ausspucken wie:

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home

keytool befindet sich im selben Verzeichnis wie javac. dh: 

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin

Vom bin-Verzeichnis können Sie das Keytool verwenden.

1
wired00

portecle verwenden:

  • Datei> Keystore-Datei öffnen
  • Geben Sie das Keystore-Passwort ein
  • Klicken Sie mit der rechten Maustaste auf den Aliasnamen> Zertifikatdetails> SHA-1 Fingerprint
0
Radi

Hier ist ein Werkzeug für faule Programmierer:

1 Abhängigkeit hinzufügen: 

compile 'com.vk:androidsdk:1.6.9'

2 Fügen Sie irgendwo in Ihrer Aktivität/Anwendung die folgenden Zeilen hinzu: 

String[] fingerprints = VKUtil.getCertificateFingerprint(this, getPackageName()); 
Log.d("SHA1", fingerprints[0]);

3 Öffnen Sie logcat und fangen Sie die Nachricht ab.

4 Gewinn!

0
Aleksandr

Schritt-für-Schritt Lösung:

  1. Öffnen Sie die Eingabeaufforderung oder das Terminal für Mac
  2. Wechseln Sie in das Verzeichnis des Speicherorts der Keytool-Datei. Wechseln Sie das Verzeichnis mit dem Befehl cd <directory path>. (Hinweis: Wenn ein Verzeichnisname Leerzeichen enthält, fügen Sie hinzu \ zwischen den beiden Wörtern. Beispiel cd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/)

    • Um den Speicherort Ihres Keytools zu finden, rufen Sie Android Studio auf. Öffnen Sie Ihr Projekt. Und geh zu

    • Datei> Projektstruktur> SDK-Speicherort ... und JDK-Speicherort suchen.

  3. Führen Sie das Keytool mit folgendem Befehl aus: keytool -list -v –keystore <your jks file path> (Hinweis: Wenn ein Verzeichnisname Leerzeichen enthält, fügen Sie\zwischen den beiden Wörtern ein. Beispiel keytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks)

  4. Befehl Fordert Sie auf, das Passwort einzugeben. Geben Sie Ihr Passwort ein. Dann erhalten Sie das Ergebnis

0
wael

Ich wollte eine Mitteilung an diejenigen senden, die das gleiche Problem haben wie ich. Ich habe die Schritte durchlaufen, um mein Debug-SHA-1 und mein Release SHA-1 zu generieren. Ich habe versucht, die Google-Anmelde-API mit meiner App zu verbinden. 

Ich bin auf das Problem gestoßen, dass das Debugging .apk einwandfrei funktionieren würde, dass es eine Verbindung mit Google Sign-In herstellen und sich authentifizieren würde. Meine Version .apk würde auch funktionieren, wenn sie manuell auf dem Telefon installiert wurde. Wenn ich meine Version .apk im Google Play Store bereitstellte, wurde meine Anmeldung bei Google nicht authentifiziert, und ich erhielt ein Problem!

Die längste Zeit konnte ich nicht herausfinden, aber ich fand heraus, dass meine App von Google signiert wurde, d. H. Die Nachricht oben in der Entwicklerkonsole zeigte: Google Play App Signing ist für diese App aktiviert.

Ich ging zu meinem Release-Management-Tab, scrollte dann zu App Signing und fand dort den SHA-1. Nachdem ich dies zu meinem Code hinzugefügt hatte und auf der "Firebase-Konsole", die ich als Backend für Google Sign-In verwendete, schien alles zu funktionieren. Es sieht so aus, als wäre mein Release-Keystore durch das von Google signierte Zertifikat ersetzt worden. Ich bin nicht wirklich sicher, ob dies der Fall war. Dieses Problem wurde jedoch behoben und mein Google Play Store-Release apk konnte sich mit dem Google-Zeichen richtig authentifizieren im!

0
Brandon

Der einfachste Weg, um SHA-1 für den Release- und Debugmodus von Android Studio Gradle zu erhalten. Überprüfen Sie dies

0
Naeem Ibrahim