Відбиток пальця сертифікату зберігання SHA-1


459

Чи метод отримання відбитка пальця SHA-1 такий, як метод отримання відбитка пальця? Раніше я виконував цю команду:

Командний рядок Windows працює з keytool.exe

Мені не ясно, чи отриманий я результат - відбиток пальців SHA-1. Хтось може це уточнити?


Сподіваємось, це посилання допоможе вам. stackoverflow.com/questions/12214467 / ...
Poras Bhardwaj

Найпростіший спосіб отримати SHA-1 для режиму випуску та налагодження андроїд-студії. Перевірте це
Наєм Ібрагім

запустіть цю команду у своєму терміналі: keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore. Він запитає пароль вашого магазину. який ви можете знайти у файлі під назвою "debug.keystore.properties" у папці android / keystore
Akhilesh Sinha

Відповіді:


803

Дотримуйтесь цього підручника для створення відбитка пальця SHA1 для Google Map v2

Для режиму налагодження:

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

для режиму випуску:

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

приклад:

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

У Windows, коли команду keytool не знайдено , перейдіть до встановленого каталогу JDK, наприклад <YourJDKPath>\Java\jdk1.8.0_231\bin\, відкрийте командний рядок і спробуйте вказані вище команди для налагодження / випуску.


9
~ / - ваш домашній каталог у * nix системах. У Windows просто використовуйте% USERPROFILE%
Jay Sidri

1
Якщо ви пишете програми для Android на Xamarin, використовуйте це: keytool -list -v -keystore "% USERPROFILE% \ AppData \ Local \ Xamarin \ Mono для Android / debug.keystore" -alias androiddebugkey -storepass android -keypass android
Jay Сидрі

Як отримати реліз sha1. Я отримую це з мого app.jks, але console.google показує його вже використано.
عثمان غني

1
$ keytool -list -v -keystore ~ ​​/ .android / debug.keystore -storepass android тільки це також працює
Наполеан

1
Подивіться на це, щоб отримати ключ SHA-1 за допомогою андроїд-студії. easybook4u.com/index.php/2017/08/25/…
Himanshu arora

652

Якщо ви використовуєте андроїд-студію, використовуйте простий крок

  1. Запустіть свій проект
  2. Клацніть на меню Gradle
  3. Розгорніть Tasksдерево Градле
  4. Двічі клацніть на android-> signingReportі побачите магію
  5. На вкладці «Виконати» він розповість вам усе

введіть тут опис зображення

Результат під вкладкою Запустити, якщо Android Studio <2.2
введіть тут опис зображення

З андроїд-студії 2.2
Результат буде доступний у консолі Запуск, але використовуйте виділену кнопку перемикання

введіть тут опис зображення

Або
другий спосіб -
Створіть новий проект в андроїд-студії Нове -> Діяльність Google Maps

введіть тут опис зображення

потім відкрийте google_maps_api.xml xml файл, як показано на фото, ви побачите ваш ключ SHA

введіть тут опис зображення


2
Моє вікно 'gradle projects' порожнє ... будь-які ідеї, чому це може бути?
LairdPleng

1
Він з’явиться, коли ви запустите проект або в емуляторі, або на пристрої
Lokesh Tiwari

1
Так, я спробував це, але нічого не вийшло. Здається, у моєму випадку мені довелося натиснути кнопку «оновити», перш ніж щось з’явилося!
LairdPleng

1
ключ sha1 однаковий для всіх програм? чи відрізняється для кожного додатка?
Anwar Hossain

3
Тепер він з'являється на вкладці "Gradle Console" від студії Android 2.2.3
Irfan Raza

196

Найпростіший спосіб отримати ключ SHA1 в андроїд-студії (режим налагодження та випуск)

  1. відчинено Android Studio
  2. Відкрийте свій проект
  3. Клацніть Gradleправої бічної панелі ви побачите смужку Gradle )
  4. Клацніть на « Оновити» (натисніть «Оновити з панелі Gradle», ви побачите список сценаріїв Gradle свого проекту)
  5. Клацніть на своєму проекті (перелік форм вашої назви проекту)
  6. Клацніть на Завдання / Android
  7. Двічі клацніть на signingReport(Ви отримаєте SHA1і MD5в панелі запуску)

Якщо ви використовуєте нову студію Android, вона показує час на виконання зверху, є режим переключення виконання завдань, натисніть, щоб отримати ключ SHA-1. Перевірте 2-е та 3-е еталонні зображення

Перевірте зображення на деталі введіть тут опис зображеннявведіть тут опис зображення

Створіть SHA-1 для режиму випуску

1-Перше додавання конфігурації зберігання ключів у вашому gradle Як додати конфігурацію у gradle .

2-Після додавання Config у варіанті зборки зміни градації. введіть тут опис зображення

3-Потім виконайте вищеописану процедуру, ви отримаєте SHA-1 для режиму випуску.

4-Перевірте зображення. введіть тут опис зображення


1
Як змінити місцезнаходження? Я знаю, як перейти на інший сховище ключів під час підписання, але як бути з типовим?
портфоліобудівник

1
дуже детальна відповідь із зображеннями, допомагає дуже багато ... дуже легко зрозуміти, ніж інші відповіді тут ... вгору голосуйте за зображення у відповідь
Shirish Herwade

52

Перейдіть до каталогу java bin через cmd:

C: \ Програмні файли \ Java \ jdk1.7.0_25 \ bin>

Тепер введіть нижче команду у вашому cmd:

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

45

Якщо ви використовуєте затемнення, перейдіть до: Window-> Preferences-> Android-> Build Ви знайдете те, що шукаєте там.

введіть тут опис зображення


1
Де я можу знайти еквівалент в Android Studio? Мій IDE вказує на неправильний SHA1
портфоліо

42

! [Перейдіть вліво [! [] [1] [1]

Будь ласка, зверніться до наступних зображень та отримайте ключ SHA-1 Оновити

Переглянути на панелі консолі внизу


Погодьтеся: найкращий варіант. "Плюшений". Я пропустив трохи більше текстової інформації, але основний шлях ви показали. Дякую.
statosdotcom

1) Ви повинні двічі клацнути по імені файлу.
Сушант Патекар

39

Виконайте наступну команду, щоб отримати свій sha1: keytool -v -list -keystore "< debug.keystore path >"
Якщо ви не знаєте шлях debug.keystore, ви можете знайти свій debug.keystoreшлях, встановивши прапорецьwindows-->preferences-->android-->build

Я підготував покроковий посібник, щоб показати, як ви можете використовувати карту google android v2 на емуляторі (android 4.2.2)
, перегляньте мій блог: http://umut.tekguc.info/en/content/google-android- map-v2-крок-крок


33

Я бачив багато публікацій з цього питання, тому я буду просто + приклади.

Щоб отримати SHA1 для ClientID для входу через Google+ та інші дії:

Загальна форма:

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

Для налагодження замініть ваш шлях до debug.keystore, наприклад:

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

Пароль: android

Для випуску замініть свій шлях до магазину ключів та пароль псевдоніма, наприклад:

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

Пароль: Ваш псевдонім.


1
Чудово працює! Я включив і кнопку DEBUG, і RELEASE в console.developer.google.com. Не впевнений, чи справді потрібні обоє. Тим не менш, це чудово працює, витративши 4 години на цю функцію G ** Gle.
Вінсент

Якщо у вашому ключі псевдоніму є пробіл типу "App Moon", додайте подвійне запитання "App Moon" як ім'я псевдоніма.
Шихаб Уддін

найкраще і робоче рішення, для google clientID мені потрібен SHA-1 у режимі випуску, інші рішення дають нам SHA-1 у режимі налагодження
parsa dadras

31

Це покроковий процес того, що працювало для мене.

Спочатку запустіть додаток, а потім виконайте кроки нижче (також показано на скріншоті)

  1. натисніть звіт про підписання
  2. відкрити діалогове вікно консолі gradle
  3. він повинен відображати ваш номер сертифіката SHA-1

введіть тут опис зображення


1
Справжній рятівник! Я не знаю, чому ключ SHA-1 відрізнявся при створенні командного рядка та андроїд-студії.
Абхішек Механдіратта

1
він показує sha1 для налагодження, це те ж саме для варіанту випуску?
Sanket Patel

@SanketPatel ви отримали реліз SHA1?
Олівер Д

ні, насправді я вирішив свою проблему, тому перестав її шукати @Oliver
Sanket Patel

27

Просте рішення ...

  1. Відкрийте свій проект в студії Android.
  2. Клацніть на вкладці Gradle справа. як зазначено нижче

введіть тут опис зображення

виконайте наведені нижче дії. 3. Розгорніть: модуль програми -> Завдання -> Android -> звіт про підписання. введіть тут опис зображення

  1. SHA-1 буде генерувати.як показано на консолі

@Ambilpur


Я це зробив, але тепер я більше не можу налагоджувати свою програму
Giacomo M

перевірте, чи ваш телефон правильно підключений до ноутбука чи настільного ПК через USB, інакше Restarts Studio ... він буде працювати.
Ambilpura Sunil Kumar

Чудовий пост, Кумаре! Просто, зрозуміло та ефективно! Я щойно отримав свій SHA1 для своєї гри. Що я маю сказати, це те, що SHA1 для режиму DEBUG для Android Studio та Eclipse для ВСІХ проектів рівні - по одному SHA1 для всіх проектів в AS та Eclipse.
AlexPap

Це найпростіший спосіб.
Тарасантан

Це врятувало мій час
jokermt235

20

від налагодження Keystore ми можемо отримати значення SHA1Eclipse . Доступ з меню: Window-> Preferences-> Android->Build

але це не працює для виробництва Keystore. введіть тут опис зображення

Отже, щоб отримати значення SHA1 від виробничого Keystore, перейдіть до: Android Tools-> Export Signed Application Package. Дотримуйтесь процедури підписання apk, і SHA1 відобразиться як сертифікат.

введіть тут опис зображення


17

Використовуєте функцію підписання додатків Google Play та інтеграцію API Google?

  1. Якщо ви використовуєте підписку додатків Google Play, не забувайте, що відбиток пальця сертифікату підпису, необхідний для облікових даних Google API, не є типовими ключами підпису для завантаження (SHA-1), які ви отримуєте зі свого додатка цим методом:

Завантажити сертифікат для підписання

  1. Ви можете отримати свій реліз SHA-1 лише на сторінці підписання програми на консолі Google Play, як показано нижче: -

Якщо ви використовуєте підпис програми Google Play, Google повторно підписує ваш додаток. Ось як дано відбиток вашого сертифіката для підписання підписом додатка Google Play, як показано нижче:

Сторінка підпису додатків - консоль Google Play

Докладніше про те, як отримати Release SHA-1 (відбиток сертифікату підпису), якщо використовується "Підпис програми Google Play"


10

В Gnu / Linux

Спочатку

Вам потрібні key.jks, наприклад, у моєму випадку цей файл знаходиться в папці в / Настільний / Ключі

/Desktop/Keys/key.jks

Друге

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

Тепер вам потрібно виконати цю команду

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

заміни цих полів

-keystore
-alias
-storepass
-keypass

Наприклад

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

введіть тут опис зображення

Щасти!!


8

Спочатку є той самий .jarфайл, що в fb-sdk android-support-v4.jar.
Потім генеруйте SHA1ключ, використовуючи:

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
Нічого спільного з сертифікатами.
Маркіз Лорн

8

keytool - це утиліта управління ключами та сертифікатами. Це дозволяє користувачам адмініструвати власні пари публічних / приватних ключів та пов'язані з ними сертифікати для використання в самоавторизації (де користувач автентифікує себе перед іншими користувачами / послугами) або послугами цілісності даних та аутентифікації, використовуючи цифрові підписи.

Для Windows

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

Інший

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

Авторизація на Android використовує відбиток пальця та назву пакета SHA1, щоб ідентифікувати ваш додаток, а не ідентифікатор клієнта та секрет клієнта .

введіть тут опис зображення

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


7

Найкращий спосіб із усіма кроками:

Клавіша SHA1 для випуску Keystore :

  1. Відкрити командний рядок
  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

Замініть нижче:

  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

Зроблено


7

// найпростіший спосіб отримати SHA1

// додати наступну команду до свого терміналу та натисніть клавішу enter

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

6

Ви можете отримати відбитки пальців MD5 та SHA1 для будь-якого робочого простору, перейшовши Window>Preference>Android>Buildв Eclipse .


1
це зробить роботу замість того, щоб переживати клопоти щодо експорту та використання CMD
ssj3goku878

6

Якщо ви використовуєте Android Studio IDE, тоді ви можете отримати SHA1 значення для всіх варіантів складання одним натисканням кнопки.

У розділі Вікно проектів Gradle> Виберіть Root Project > Підпис звіту > двічі клацніть

Навігація по файлам

Далі

Відкрийте вікно запуску

Перейти до варіанту: випуск для випуску

Перейти до варіанту: налагодження для налагодження

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


Я це роблю, але я не отримав SHA для звільнення!
Олівер Д

1
Переконайтеся, що ви додали облікові дані для входу в конфігурацію знака під блоком випуску в gradle. Інакше він не буде показувати реліз sha key
Jayakrishnan PM PM

6

Відкрийте командний рядок у Windows та перейдіть до наступної папки.

C: \ програмні файли \ Java \ jdk1.7.0_05 \ bin

Використовуйте команди, cd <next directory name>щоб змінити каталог на наступний. Використовувати командуcd .. для зміни каталогу в Попередню

Тепер введіть таку команду, як вона є:

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

Після боротьби з цим питанням протягом декількох годин, ваша відповідь врятувала життя моєму додатку. ДЯКУЮ!!!!
Емзор


4

Якщо ви використовуєте андроїд-студію, використовуйте прості дії:

  • Запустіть свій проект

  • Клацніть на меню Gradle

  • Розгорніть дерево завдань Gradle

  • Клацніть на android-> підписувати репортаж

введіть тут опис зображення Якщо нічого не відображається (android studio 2.2), тоді

Клацніть на Toggle tasks execution/text modeпанелі Run


4

У мене виникла проблема під час відкриття команди

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

Тому я завантажую https://sourceforge.net/projects/portecle/ . Потім просто відкрийте файл .jks з програми jar. він покаже вам всю релевантну інформацію

знімок програми


Дякую, врятував мій день
Jaichander

3

Я використовую Ubuntu 12.0.4, і я отримав таким чином відбитки сертифікатів для зберігання ключа зберігання в командному рядку після створення файлу зберігання ключів, ви можете використовувати цей ключ для випущеного додатку, якщо ви використовуєте карту google у своєму додатку, так що я можу правильно відобразити карту в додатку після випуску,, я отримав результат в командному рядку нижче

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             

На платформі Windows ми можемо отримати сховище ключів для режиму налагодження, використовуючи наведений нижче спосіб

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


Ще один спосіб отримати цю деталь сертифікації для режиму налагодження можна з (1) Клацніть правою кнопкою миші на панелі Gradle в студії Android (2), потім натисніть на додаток -> Завдання -> android -> підписати звіти, потім на консолі Gradle ви отримаєте звіти
Ghanshyam

3

На додаток до відповіді Локеша Тівара

Для версій версій додайте наступне в 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'
        }
    }

}

Тепер запуск підписного звіту, як у відповіді Локеша, також показав би клавіші SHA 1 та MD5 для версій версій.

Зразок


2

Якщо ви використовуєте студію Android, це дуже просто.

Створіть нову активність на карті Google, і ви побачите відбиток пальця sha1, як показано нижче.

Нова карта Google aCTIVITY

ВИ МОЖЕТЕ ДИВИТИСЯ SHA1 У НІЖ ІМІДЖ


1

Спочатку перейдіть до файлу jar, скопіюйте шлях keytool, потім додайте до системного шляху, а потім запустіть .. Я сподіваюся, що це працює.


1

Якщо ви користуєтеся підписом додатків Google Play , замість отримання SHA з магазину брелоків, більш простим способом є перейти до консолі Google Play> Ваша програма> Управління випусками> Підписання програми та шукати сертифікат завантаження.

Знімок екрана сторінки, на якій ви отримуєте цю інформацію


тут показано 2 сертифікати для входу в програму, підписані та завантажені signincertificate. Який мені потрібно використовувати для випуску
Харша,

Для випуску вам потрібно використовувати сертифікат підпису програми
ßiansor Å. Ålmerol

1

Це рішення призначено для версії для Android Studio 3.5:

  1. Відкрийте свій проект в студії Android.
  2. Клацніть на вкладці Gradle справа.
  3. Побачимо дві речі, один - наш проект (root) та просто додаток.
  4. Виберіть наш проект у вашому випадку, це може бути ваша програма.
  5. Клацніть правою кнопкою миші на проект та оновіть його.
  6. Потім натисніть на кнопку "Донець".
  7. Клацніть на Завдання, де буде бачити папку Android.
  8. Двічі клацніть на підписувати репортаж і побачите деталі в консолі Run.

0

Для місцевих користувачів ви легко отримуєте sha1 від андроїд-студії, але для прямої програми перевірте нижче URL-адресу:

Facebook Android

Здебільшого ми не робимо нижче кроків, тому, будь ласка, перевірте посилання, яке є 100% правильним.

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

9) Тепер або ви можете перезапустити командний рядок, або працювати з існуючим командним рядком

10) поверніться до диска C і подайте шлях до папки openssl Bin

11) скопіюйте наступний код і вставте

openssl sha1 -binary debug.txt > debug_sha.txt

12) ви отримаєте debug_sha.txt у папці openssl bin

13) Знову скопіюйте наступний код і вставте

openssl base64 -in debug_sha.txt > debug_base64.txt

14) ви отримаєте debug_base64.txt у папці openssl bin

15) відкрити файл debug_base64.txt Ось ваш хеш-ключ.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.