Bagaimana cara mendapatkan sidik jari sertifikat Penandatanganan (SHA1) untuk OAuth 2.0 di Android?

154

Saya mencoba mendaftarkan aplikasi Android saya mengikuti langkah-langkah di https://developers.google.com/console/help/#installed_applications yang membuat saya mengikuti http://developer.android.com/tools/publishing/app- sign.html .

Namun, saya tidak yakin bagaimana cara mendapatkan sidik jari sertifikat penandatanganan (SHA1).

Saya pertama kali menggunakan plugin Eclipse ADT untuk mengekspor dan membuat keystore / kunci. Kemudian, saya mencoba melakukan keytool -list keystore mykeystore.keystoredan memberi saya sidik jari Sertifikat MD5. Apakah saya perlu mengulangi penandatanganan (artinya saya tidak dapat menggunakan wisaya ekspor gerhana)?

Bisakah saya menggunakan sertifikat debug terlebih dahulu?

Alex
sumber
Sebelum mengekspor / mengunggah aplikasi Anda, gunakan jawaban user2453771. Setelah mengekspor / mengunggah, gunakan jawaban frederick nyawaya. Ingat itu dan selamatkan diri Anda dari beberapa jam kesakitan.
SmulianJulian
cara membuat rilis apk keystore menggunakan terminal linux
Manish
1
Cara termudah untuk Mendapatkan SHA-1 Untuk mode Rilis dan Debug android studio gradle. Lihat ini
Naeem Ibrahim

Jawaban:

174

Mulai proses ekspor untuk membuat apk untuk aplikasi Anda dan gunakan kunci produksi Anda. Halaman terakhir menampilkan sidik jari sertifikat SHA1 dan MD5 Andamasukkan deskripsi gambar di sini

Frederick Nyawaya
sumber
2
MD5 muncul di logcat sekarang (bukan di jendela selama pembuatan).
Alat
4
Lakukan proses ekspor dua kali. Ini akan ditampilkan di belokan kedua.
keybee
Apakah ada cara untuk membuat yang baru menggunakan metode ini? Saya mencoba melakukan ini, tetapi file keystore lama saya ada di sana, tapi saya pikir itu salah (saya perlu sertifikat debug, bukan rilis), ditambah saya lupa kata sandi. > _ <Terima kasih jika Anda memiliki tip.
Azurespot
CATATAN: Anda tidak harus mengekspor sepenuhnya .apk. Anda dapat membatalkan pada titik ini setelah menyalin SHA1 untuk menghindari membuat .apks yang tidak perlu.
GraSim
139

Saya tahu pertanyaan ini telah dijawab tetapi ini adalah bagaimana saya menemukan tanda tangan saya untuk keystore default. Di Eclipse, jika Anda pergi ke Windows -> Preferences -> Android -> Build

masukkan deskripsi gambar di sini

Nick
sumber
5
Ini harus menjadi jawaban yang diterima, karena itu adalah cara termudah.
Mustafa
3
untuk default / debug keystore, bukan keystore produksi
Frederick Nyawaya
3
Kawan harap perhatikan bahwa jawaban amannya adalah @frederick nyawaya. Jika aplikasi Anda memiliki bangunan yang berbeda dan menerbitkan toko-toko utama (yang sering terjadi, peta TIDAK akan berfungsi pada klien Anda. Dan Tuhan tahu kapan Anda akan tahu ini karena berfungsi baik di komputer Anda sendiri. Harap hati-hati. Ini mudah, tetapi Anda cenderung memiliki layanan peta yang tidak berfungsi pada perangkat klien Anda
Tina
92

Saya pikir ini akan bekerja dengan sempurna. Saya menggunakan yang sama:

Untuk Android Studio:

  1. Klik Build > Generate Signed APK .
  2. Anda akan mendapatkan kotak pesan, cukup klik OK.
  3. Sekarang akan ada jendela lain cukup salin Path Key Store .
  4. Sekarang buka command prompt dan pergi ke C: \ Program Files \ Java \ jdk1.6.0_39 \ bin> (atau versi jdk yang diinstal).
  5. Ketikkan keytool -list -v -keystore lalu tempel Path Key Store Anda (Misalnya C: \ Program Files \ Java \ jdk1.6.0_39 \ bin> keytool -list -v -keystore "E: \ My Projects \ Android \ android studio \ menandatangani apks \ Hello World \ HelloWorld.jks ").
  6. Sekarang akan Tanyakan Kata Sandi Penyimpanan Kunci , berikan milik Anda dan tekan Enteruntuk mendapatkan kunci Sertifikat SHA1 dan MD5 Anda.
Ravi
sumber
file keystore yang dibuat melalui mesin lain dapatkah saya mendapatkan sh1 dengan file penyimpanan kunci yang sama dengan prosedur di atas pada mesin yang berbeda
Mahendra Dabi
Terima kasih banyak
Hiren
74

Jika Anda menggunakan Mac atau bahkan Linux, cukup salin dan tempel ini ke aplikasi Terminal dan Anda akan mendapatkan kunci SHA1 segera. Tidak perlu mengubah apa pun.

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

Contoh output:

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
Randy Sugianto 'Yuku'
sumber
contoh @yuku tolong. /home/desktop/././. , abc.jks, yang kata sandi n semua, apakah kita memerlukan semua detail ini ??
Prab
Terima kasih. Hanya ini cara termudah.
Sayka
Anda benar-benar menyelamatkan hari saya. Terima kasih banyak.
Karan Nagpal
keytool -list -v -keystore my-release-key.keystore
Pangkalan Salju
Keystore JKS menggunakan format berpemilik. Disarankan untuk bermigrasi ke PKCS12 yang merupakan format standar industri menggunakan "keytool -importkeystore -srckeystore <use-existing-key-store path> / <variant-name> .keystore -destkeystore <new-key-store path> / < varian-nama> .keystore -deststoretype pkcs12 ".
Arpit J.
68

gunakan ini di baris perintah

c:\Program Files\Java\jdk1.6.25\bin>keytool -list -v -keystore c:\you_key_here.key
Dan Jurgen
sumber
1
ini saya rasakan adalah cara paling sederhana namun standar karena semakin banyak orang bermigrasi ke IntelliJ / Studio dan tidak memiliki akses ke kemudahan Eclipse / ADT. Salut kawan!!
Himadri Pant
Mengapa ini meminta saya kata sandi
Abhijit Chakra
saya dapatkan, akses ditolak.!
sudhakar phad
59

Buka terminal (di Unix , di MAC ), ( cmddi Windows ) dan cdke jalur ini (java Anda):

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

Jalankan perintah ini:

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

Cukup ubah jalur ke debug.keystoredan Anda akan mendapatkan sidik jari MD5 dan SHA-1.

gurkan
sumber
40
keytool -list -v -keystore "keyStoreName"

Jalankan perintah ini dari direktori tempat keystore aplikasi Anda ada.

Manmohan Soni
sumber
Ini dapat digunakan untuk mendapatkan SHA1 untuk aplikasi klien Anda yang akan Anda ekspor dan publikasikan. Ini mungkin berbeda dari yang Anda lihat di gerhana, yang merupakan keystore debug.
dannyhan12
29

Di Android Studio, ikuti langkah-langkah ini:

  1. Klik menu properti Gradle di sisi kanan IDE studio android Anda.
  2. Rentangkan pohon Tugas.
  3. Klik pada signReport Anda dapat melihat SHA1 Anda di konsol bawah

masukkan deskripsi gambar di sini

Harunduet
sumber
13

Lihat apakah Anda ingin menggunakan Google Mappada saat itu Anda perlu MD5sidik jari untuk menghasilkanapi kay untuk menggunakan google map di aplikasi android Anda.

Perintah keytool menghasilkan MD5sidik jari jika Anda menggunakan JDK 1.6dan menghasilkan SHA1sidik jari jika Anda menggunakannya JDK 1.7.

Jadi masalahnya adalah jika Anda ingin menandatangani aplikasi Anda untuk penerbitan maka baca ini .

Dan jika Anda ingin menggunakan google-mapbaca ini .

Akshay
sumber
Terima kasih atas ulangan Akshay. Rupanya saya perlu menambahkan -v ke perintah keytool saya untuk menunjukkan sidik jari sertifikat lainnya. Juga, ternyata saya bisa menggunakan sertifikat debug untuk membuat ID klien.
Alex
1
Kebanyakan. Saya memecahkan masalah saya dalam membuat ID Klien. Namun, saya baru mengenal OAuth secara umum dan tidak bagaimana sertifikat dan sidik jari bekerja. Saya kira sertifikat dapat memiliki sidik jari MD5 dan SHA1? Setidaknya itulah yang saya dapatkan ketika saya melakukan keytool -list -v etcperintah
Alex
12

Jika Anda menggunakan IntelliJ (12+?), Buka menu Build / Generate Api yang ditandatangani

Setelah mengisi sembulan, dapatkan data di bidang "jalur penyimpanan kunci" (mis. C: \ Users \ user \ Documents \ store \ store)

Dan jalankan di baris perintah:

>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
...

Semoga berhasil

pengguna9869932
sumber
12

Jika ada yang menggunakan studio Android ...

klik: Bangun> Hasilkan Masuk di APK Buat kunci baru: ini akan menghasilkan file ".jks"

Gunakan perintah berikut untuk membaca data (SHA1 dan info lainnya):

$ keytool -list -v -keystore filename.jks

Vinod Joshi
sumber
tip ekstra : perintah untuk menghasilkan Key Hash untuk facebook$keytool -keystore filename.jks | openssl sha1 -binary | openssl base64
MuhFred
4

Bagi mereka yang menggunakan OpenSSL Anda dapat mengambil sidik jari SHA1 dengan cara ini:

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

Yang akan menghasilkan output berikut:

masukkan deskripsi gambar di sini

TaeKwonJoe
sumber
4

Jika Anda menggunakan Android Studio. Anda tidak perlu membuat sidik jari SHA1 menggunakan cmd prompt. Anda hanya perlu membuat proyek dengan Aktivitas Peta default Android Studio.Dalam proyek ini Anda bisa mendapatkan sidik jari di google_maps_api.xml di bawah folder Nilai. Semoga ini bisa membantu Anda. :)

masukkan deskripsi gambar di sini

Poras Bhardwaj
sumber
4

Ini solusi mudah saya untuk ini:

Klik Gradletombol, Anda dapat menemukan di sisi kanan atas. Anda akan melihat semua file gradle. Sekarang pergi ke android, dan klik dua kali pada penandatangananLaporan. Setelah build gradle selesai, Anda melihat kunci SHA. Periksa gambar di bawah ini untuk panduan langkah demi langkah.

Setelah Anda mengklik Gradle, periksa gambar-gambar di bawah ini. Semoga ini bisa membantu seseorang.

LANGKAH 1:

Gambar Langkah satu

LANGKAH 2:

Gambar Langkah dua

basavaraj_S
sumber
3

Jika Anda menggunakan Android Studio. Anda bisa mendapatkan sidik jari sertifikat SHA1 dengan cepat (debug, lepaskan ... semua Build Type !!) melalui Tugas Gradle :

menandatanganiLaporan

SHA1 ditampilkan di Log Pesan

Plugin Android (dikonfigurasi dalam aplikasi gradle) menciptakan mode debug untuk default.

com.android.aplikasi

File rute ke keystore:

HOME / .android / debug.keystore

Saya sarankan lampirkan debug.keystore ke build.gradle. Untuk melakukan ini, letakkan file debug.keystore ke folder aplikasi dan kemudian Tambahkan SigningConfigs di aplikasi gradle:

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"
            }
        }    
        ........
    }

Ekstra: Jika Anda ingin membuat untuk rilis, letakkan file release.keystore ke folder aplikasi. (Contoh ini menggunakan debug.keystore yang sama)

SergioLucas
sumber
3

Coba yang ini: Windows ---- preferensi ---- Android - build --- salin kode sh1 dari sini

Ravind Maurya
sumber
3

Saya sangat membingungkan pertama kali, tetapi saya mengusulkan Anda solusi akhir untuk Windows:

1) Buka cmd dan buka direktori Java / jdk / bin Anda (cukup tekan cd ..untuk kembali satu folder dan cd NAME_FOLDERmaju satu folder), dalam kasus saya, folder terakhir:C:\Program Files\Java\jdk1.8.0_73\bin> masukkan deskripsi gambar di sini

2) Sekarang ketikkan perintah ini keytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

Akibatnya Anda harus mendapatkan sesuatu seperti ini: masukkan deskripsi gambar di sini

Choletski
sumber
2

Saya pikir ini akan bekerja dengan sempurna. Saya menggunakan yang sama:

Untuk Android Studio:

Klik Build> Generate Signed APK. Anda akan mendapatkan kotak pesan, cukup klik OK.

Sekarang akan ada jendela lain hanya menyalin Path Key Store.

Sekarang buka command prompt dan pergi ke C: \ Program Files \ Java \ jdk1.6.0_39 \ bin> (atau versi jdk yang diinstal).

Ketik keytool -list -v -keystore lalu tempel Path Key Store Anda (Misalnya C: \ Program Files \ Java \ jdk1.6.0_39 \ bin> keytool -list -v -keystore "E: \ My Projects \ Android \ android studio \ menandatangani apks \ Hello World \ HelloWorld.jks ").

Sekarang akan Tanyakan Kata Sandi Penyimpanan Kunci, berikan milik Anda dan tekan Enter untuk mendapatkan kunci Sertifikat SHA1 dan MD5 Anda.

Sekarang tambahkan kunci SHA1 ini ke konsol pengembang google di tab kredensial dan juga ubah varian build di android studio ke mode rilis.

Rishab Jain
sumber
tidak dapat memasukkan kata sandi penyimpanan kunci yang saya ketik tetapi kata sandi tidak diketik di command prompt
Mahendra Dabi
kata sandi tidak terlihat cukup ketik kata sandi Anda dengan benar dan tekan enter Anda akan mendapatkan kunci Anda
Rishab Jain
terima kasih, saya memasukkan kata sandi yang salah sekarang berfungsi, terima kasih teman
Mahendra Dabi
1

Bagi yang menggunakan mac mencari keytool. ikuti langkah ini:

Pertama, pastikan untuk menginstal Java JDK http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

Kemudian ketik ini di command prompt:

/usr/libexec/java_home -v 1.7

itu akan memuntahkan sesuatu seperti:

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

keytool terletak di direktori yang sama dengan javac. yaitu:

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

Dari direktori bin Anda dapat menggunakan keytool.

wired00
sumber
1

Jika Anda menggunakan Mac / Linux, maka Anda bisa mendapatkan sidik jari SHA1 dengan menulis baris berikut di terminal:

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

Ada 2 hal yang mungkin setelah ini

  1. Ia akan meminta kata sandi Anda

    Ketik saja

android

dan tekan enter, Anda dapat menemukan kunci SHA1 di output yang ditunjukkan di bawah ini.

  1. Ini akan meminta Anda untuk mengunduh program yang sesuai (dan beberapa daftar akan diberikan)

    Cukup ketikkan terminal berikut

sudo apt install openjdk-8-jre-headless

dan sekali lagi jalankan berikut di terminal: keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android

Kali ini, Anda akan diarahkan ke langkah 1, di mana Anda hanya perlu memasukkan kata sandi sebagai

android

dan Anda akan mendapatkan sidik jari SHA1 Anda di bawah ini di output.

Akshay Chopra
sumber
0

Menggunakan portecle :

  • File> Buka file Keystore
  • Masukkan kata sandi Keystore
  • Klik kanan pada nama alias> Detail sertifikat> Sidik Jari SHA-1
Radi
sumber
0

Cara termudah untuk Mendapatkan SHA-1 Untuk mode Rilis dan Debug android studio gradle. Periksa ini

Naeem Ibrahim
sumber
0

Saya ingin memposting pemberitahuan kepada mereka yang memiliki masalah yang sama dengan saya. Saya melakukan langkah-langkah untuk menghasilkan debug SHA-1 dan rilis saya SHA-1. Saya mencoba menghubungkan Google Sign-In API dengan aplikasi saya.

Saya mengalami masalah bahwa debug .apk akan berfungsi dengan baik, itu akan terhubung dan mengautentikasi dengan Google Masuk. Rilis saya .apk juga akan berfungsi, ketika diinstal secara manual ke telepon. Ketika saya memposting rilis saya .apk ke Google Play Store, Google Sign-in saya tidak akan diautentikasi dan saya akan mendapat masalah!

Untuk waktu yang paling lama saya tidak bisa mengetahuinya, tetapi saya menemukan bahwa aplikasi saya sedang ditandatangani oleh google, yaitu, pesan di bagian atas konsol Pengembang ditampilkan: Google Play App Signing diaktifkan untuk aplikasi ini.

Saya pergi ke tab Manajemen Rilis saya, kemudian gulir ke bawah ke Penandatanganan Aplikasi, dan menemukan SHA-1 di sana. Setelah menambahkan ini ke kode saya dan di "firebase console" yang saya gunakan sebagai backend untuk Google Sign-in, semuanya tampak berfungsi. Sepertinya keystore rilis saya diganti dengan sertifikat yang ditandatangani google ... Saya tidak benar-benar yakin apakah ini yang terjadi, tetapi itu menyelesaikan masalah saya dan memungkinkan apk rilis Google Play Store untuk mengotentikasi dengan tanda google dengan benar di!

Brandon
sumber
0

Solusi langkah demi langkah:

  1. Buka prompt perintah atau Terminal untuk Mac Anda
  2. Ubah direktori ke direktori lokasi file keytool. Ubah direktori dengan menggunakan perintah cd <directory path>. (Catatan: jika ada nama direktori yang memiliki spasi, tambahkan di \antara kedua kata tersebut. Contoh cd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/)

    • Untuk menemukan lokasi alat kunci Anda, Anda pergi ke studio android. Buka proyek Anda. Dan pergi ke

    • File> Struktur proyek> lokasi SDK..dan temukan lokasi JDK.

  3. Jalankan keytool dengan perintah ini: keytool -list -v –keystore <your jks file path>(Catatan: jika ada nama direktori yang memiliki ruang, tambahkan \ di antara dua kata. Contoh keytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks)

  4. Perintah meminta Anda untuk memasukkan kata sandi .. jadi masukkan kata sandi Anda .. lalu Anda mendapatkan hasilnya

Ya ampun
sumber
0

Berikut ini alat untuk coders malas:

1 tambahkan ketergantungan:

compile 'com.vk:androidsdk:1.6.9'

2 tambahkan baris berikut di suatu tempat di aktivitas / aplikasi Anda:

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

3 Buka logcat dan tangkap pesan.

4 Untung!

Aleksandr
sumber
0
  1. Buka prompt perintah Anda
  2. Arahkan direktori kerja ke 1.8.0 / bin
  3. tempel keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
  4. Tekan enter jika Anda meminta kata sandi
Sandun Sameera
sumber
0

Jika Anda ingin mendapatkan kunci sidik jari-sha1 dari menandatangani file keystore.jks Jalankan perintah berikut dari terminal:

keytool -list -v -keystore <.../path/keystore.jks>

Contoh

keytool -list -v -keystore /Users/Home/Projects/Keystore/myApp_keystore.jks
Enter keystore password: 

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name:myApp_alias
Owner: CN=xxx, OU=xxx Dev, O=ZZZ, L=Dhaka, ST=Dhaka, C=BD
..........


Certificate fingerprints:
MD5:  12:10:11:12:11:11:11:11:11:11:33:11:11:11:11:11
SHA1: 11:44:11:11:55:11:17:11:11:66:11:11:88:11:11:77:11:11:01:11
.....................
samsul
sumber
0

Silakan Klik Gradle dari sisi Kanan Menu Kemudian Klik pada: aplikasi Kemudian Klik folder android Kemudian nama file SigningReport ada di sana Klik dua kali pada itu. Akan mulai dijalankan dan sebentar lagi akan menunjukkan kepada Anda Kode SHA-1 Cukup salin kode tersebut. Dan rekatkan di tempat yang Anda butuhkan

Laporan Penandatanganan Disorot dalam Gambar

Uzair
sumber