SHA-1 отпечаток сертификата хранилища ключей


459

Является ли метод получения отпечатка пальца SHA-1 таким же, как метод получения отпечатка пальца? Ранее я выполнял эту команду:

Командная строка Windows, запускающая keytool.exe

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


Надеюсь, эта ссылка поможет вам. stackoverflow.com/questions/12214467/…
Порас Бхардвай

Самый простой способ получить SHA-1 для выпуска и отладки в режиме Android Studio Gradle. Проверьте это
Наим Ибрагим

Запустите эту команду в своем терминале: keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore. Он попросит ваш пароль хранилища ключей. который вы можете найти из файла с именем "debug.keystore.properties" в папке android /
keystore

Ответы:


806

Следуйте этому руководству по созданию отпечатка 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%
Джей Сидри

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 только это тоже работает
Napolean

1
Посмотрите на это, чтобы получить ключ SHA-1 с помощью Android Studio. easybook4u.com/index.php/2017/08/25/…
Himanshu arora

652

Если вы используете Android Studio, используйте простой шаг

  1. Запустите свой проект
  2. Нажмите на меню Gradle
  3. Развернуть Tasksдерево Gradle
  4. Дважды щелкните на android-> signingReportи увидите магию
  5. Он расскажет вам все на вкладке «Выполнить»

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

Результат на вкладке «Выполнить», если Android Studio <2.2
введите описание изображения здесь

Из Android Studio 2.2
Результат будет доступен в разделе «Запустить консоль», но используйте выделенную кнопку переключения

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

Или
Второй Путь -
Создать новый проект в андроид студии. New -> Google Maps Activity

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

затем откройте файл google_maps_api.xml xml, как показано на рисунке, вы увидите свой ключ SHA

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


2
В моем окне «проекты gradle» пусто ... есть идеи, почему это может быть?
LairdPleng

1
Он появится, как только вы запустите проект в эмуляторе или на устройстве
Lokesh Tiwari

1
Да, я попробовал это, но ничего не случилось. Кажется, в моем случае мне пришлось нажать кнопку «обновить», прежде чем что-то появилось!
LairdPleng

1
Ключ sha1 одинаков для всех приложений? или разные для каждого приложения?
Анвар Хоссейн

3
Теперь он появляется на вкладке «Консоль Gradle» от студии Android 2.2.3
Irfan Raza

196

Самый простой способ получить ключ SHA1 в андроид студии (режим отладки и выпуска)

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

Если вы используете новую Android Studio, она показывает время выполнения сверху, там есть режим выполнения задачи Toggle, нажмите, чтобы получить ключ SHA-1. Проверьте 2-е и 3-е эталонные изображения.

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

Генерация SHA-1 для режима выпуска

1-Сначала добавьте конфигурацию хранилища ключей в ваш Gradle Как добавить конфигурацию в Gradle .

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

3-затем выполните описанную выше процедуру, вы получите SHA-1 для режима выпуска.

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


1
Как изменить местоположение? Я знаю, как перейти к другому хранилищу ключей при подписании, но как насчет стандартного?
портфолио 12

1
очень подробный ответ с изображениями, очень помогает ... очень легко понять, чем другие ответы здесь ... голосование за изображения в ответе
Шириш Хервейд

52

Перейдите в каталог java bin с помощью cmd:

C: \ Program Files \ 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

Если вы используете eclipse, зайдите в: 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 map android v2 на эмуляторе (android 4.2.2)
, загляните в мой блог: http://umut.tekguc.info/en/content/google-android- карта-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

Пароль: андроид

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

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 отличался при генерации из командной строки и Android Studio.
Абхишек Механдиратта

1
это показывает sha1 для отладки, это то же самое для варианта выпуска также?
Санкет Патель

@SanketPatel у тебя есть релиз SHA1?
Оливер Д

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

28

Простое решение ...

  1. Откройте свой проект в Android-студии.
  2. Нажмите на вкладку Gradle на правой стороне. как показано ниже

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

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

  1. SHA-1 сгенерирует. Как показано в консоли

@Ambilpur


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

проверьте, правильно ли подключен ваш телефон к ноутбуку или настольному компьютеру через USB, иначе перезапустите Studio ... все заработает.
Амбилпура Сунил Кумар

Отличный пост, Кумар! Просто, понятно и эффективно! Я только что получил свой SHA1 для своей игры. Я должен сказать, что SHA1 для режима DEBUG для Android Studio и для Eclipse для ВСЕХ проектов одинаковы - один SHA1 для всех проектов в AS и Eclipse.
AlexPap

Это самый простой способ.
Тарасантан

Это сэкономило мое время
jokermt235

20

из хранилища ключей отладки мы можем получить значение SHA1Eclipse . Доступ из меню: Window-> Preferences-> Android->Build

но это не работает для производства Keystore. введите описание изображения здесь

Итак, чтобы получить значение SHA1 из производственного хранилища ключей, перейдите по ссылке: Android Tools-> Export Signed Application Package. Следуйте процедуре подписания вашего apk, и SHA1 будет показан в качестве сертификата.

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


17

Использование функции подписи приложения Google Play и интеграции API Google в вашем приложении?

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

Загрузить сертификат подписи

  1. Вы можете получить релиз SHA-1 только со страницы подписи приложения на консоли Google Play, как показано ниже: -

Если вы используете подпись приложения Google Play, Google повторно подписывает ваше приложение. Вот как ваша подпись сертификата подписи определяется подписью приложения Google Play, как показано ниже:

Страница подписи приложения - Google Play Console

Подробнее о том, как получить Release SHA-1 (отпечаток сертификата подписи) при использовании «подписи приложения Google Play»


10

В GNU / Linux

Первый

Вам нужен key.jks, например, в моем случае этот файл находится в папке / Desktop / Keys

/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 :

  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 Projects> Выберите Root Project > signatureReport > двойной щелчок

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

следующий

Открыть окно запуска

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

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

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


Я делаю это, но я не получил SHA для выпуска!
Оливер Д

1
Убедитесь, что вы добавили учетные данные для входа в конфигурацию входа в блоке релиза в Gradle. В противном случае он не будет показывать релиз
Sha Sha

6

Откройте командную строку в Windows и перейдите в следующую папку.

C: \ Program Files \ 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

Если вы используете Android Studio, используйте простые шаги:

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

  • Нажмите на меню Gradle

  • Развернуть дерево задач Gradle

  • Нажмите на Android-> подписать отчет

введите описание изображения здесь Если ничего не отображается (Android Studio 2.2), то

Нажмите на Toggle tasks execution/text modeпанели запуска


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 Studio (2), затем выберите приложение -> Задачи -> Android -> signatureReports, а затем на консоли 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'
        }
    }

}

Теперь при запуске signatureReport, как в ответе Локеша, будут показаны ключи SHA 1 и MD5 для сборок релиза.

Образец


2

Если вы используете Android Studio, это очень просто.

Создайте новое действие на карте Google, и вы увидите отпечаток sha1, как показано на рисунке ниже.

Новая карта Google АКТИВНОСТЬ

ВЫ МОЖЕТЕ ВИДЕТЬ SHA1 В НИЖЕ ИЗОБРАЖЕНИЯ


1

Сначала перейдите к файлу jar, скопируйте путь к keytool, затем добавьте в системный путь, затем запустите .. Я надеюсь, что этот работает


1

Если вы используете подпись приложения Google Play , а не получаете SHA из хранилища ключей, проще перейти в Консоль Google Play> Ваше приложение> Управление выпуском> Подписание приложения и найти сертификат загрузки.

Скриншот страницы, где вы получаете эту информацию


здесь показаны 2 сертификата входа в систему, приложения, подписанные и загруженные файлы signincertificates. Какой мне нужно использовать для выпуска
Харша

Для выпуска необходимо использовать сертификат подписи приложения
ßiansor Å. Альмерол

1

Это решение для версии Android Studio 3.5:

  1. Откройте свой проект в Android-студии.
  2. Нажмите на вкладку Gradle на правой стороне.
  3. Увидим две вещи, одна это наш проект (root) и просто приложение.
  4. Выберите наш проект, в вашем случае это может быть ваше приложение.
  5. Щелкните правой кнопкой мыши по проекту и обновите его.
  6. Затем нажмите на кнопку «Удалить проект».
  7. Нажмите на Задачи, где увидите папку Android.
  8. Дважды кликните на signatureReport и увидите детали в консоли Run.

0

Для местных вы легко получаете Sha1 из Android Studio, но для живого, пожалуйста, проверьте ниже 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.