Как получить отпечаток сертификата подписчика (SHA1) для OAuth 2.0 на Android?

Я пытаюсь зарегистрировать свое приложение для Android в соответствии с шагами в https://developers.google.com/console/help/#installed_applications, что заставляет меня следовать http://developer.android.com/tools/publishing/app-signing.html.

Однако я не уверен, как получить отпечаток сертификата подписки (SHA1).

Сначала я использовал плагин Eclipse ADT для экспорта и создания ключа/ключа. Затем я попытался сделать keytool -list keystore mykeystore.keystore, и он дал мне отпечаток сертификата MD5. Нужно ли повторить подписание (что означает, что я не могу использовать мастер экспорта eclipse)?

Можно ли сначала использовать сертификат отладки?

Ответы

Ответ 1

Запустите процесс экспорта, чтобы создать apk для своего приложения и используйте свой производственный ключ. На последней странице отображаются ваши отпечатки сертификата SHA1 и MD5 enter image description here

Ответ 2

Я знаю, что на этот вопрос был дан ответ, но вот как я нашел свою подпись для хранилища ключей по умолчанию. В Eclipse, если вы перейдете в Windows → Настройки → Android → Build

enter image description here

Ответ 3

Я думаю, что это сработает отлично. Я использовал то же самое:

Для Android Studio:

  • Нажмите Создать > Сгенерировать подписанный APK.
  • Вы получите окно сообщения, просто нажмите "ОК".
  • Теперь будет еще одно окно, просто скопируйте Путь хранения ключей.
  • Теперь откройте командную строку и перейдите в C:\Program Файлы \Java\jdk1.6.0_39\bin > (или любая установленная версия jdk).
  • Введите keytool -list -v -keystore, а затем вставьте свой магазин ключей   Путь (например: C:\Program Files\Java\jdk1.6.0_39\bin > keytool -list -v   -keystore "E:\My Projects\Android\android studio\подписанный apks\Hello World\HelloWorld.jks" ).
  • Теперь он запросит пароль для хранения ключей, предоставит вам и нажмите Enter, чтобы получить ключи сертификата SHA1 и MD5.

Ответ 4

используйте это в командной строке

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

Ответ 5

Откройте терминал (в Unix, MAC), (cmdв Windows) и cd к этому (ваш java ) путь:

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

Запустите эту команду:

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

Просто измените путь на debug.keystore, и вы получите как отпечатки пальцев MD5, так и SHA-1.

Ответ 6

Если вы используете Mac или даже Linux, просто скопируйте и вставьте его в приложение Terminal, и вы сразу же получите ключ SHA1. Не нужно ничего менять.

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

Пример вывода:

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

Ответ 7

keytool -list -v -keystore "keyStoreName"

Запустите эту команду из каталога, где хранится хранилище вашего приложения.

Ответ 8

Посмотрите, хотите ли вы использовать Google Map в то время вам нужно MD5 отпечаток пальца для генерации api kay для использования карты google в вашем приложении для Android.

Команда Keytool генерирует отпечаток MD5, если вы используете JDK 1.6 и генерируете отпечаток SHA1, если вы используете JDK 1.7.

Итак, если вы хотите подписать свое приложение для публикации, прочитайте this.

И если вы хотите использовать google-map, прочитайте это.

Ответ 9

Если вы используете IntelliJ (12+?), перейдите в меню Создать/сгенерировать подписанный Api

После заполнения всплывающего окна введите данные в поле "путь хранения ключей (например, C:\Users\user\Documents\store\store)

И запустите в командной строке:

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

Удачи.

Ответ 10

Если кто-то использует студию Android...

click: Build > Сгенерировать подпись в APK Создайте новый ключ: это создаст файлы .jks.

Используйте следующую команду для чтения данных (SHA1 и другая информация):

$keytool -list -v -keystore filename.jks

Ответ 11

В ANDROID STUDIO Выполните следующие действия: 1. Нажмите Gradle меню свойств справа от вашей IDE студии. 2. Разверните дерево задач. 3. Нажмите на подписьReport Вы можете увидеть свой SHA1 на нижней консоли введите здесь описание изображения

Ответ 12

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

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

Это приведет к следующему выводу:

enter image description here

Ответ 13

Попробуйте следующее: Windows ---- предпочтения ---- Android - build --- sh1 копия кода отсюда

Ответ 14

Если вы используете Android Studio. Вы можете быстро получить отпечаток SHA1 (отладка, выпуск... всех типов сборки!) Через Gradle Задачи:

signingReport

SHA1 отображается в Журналах сообщений

Плагин Android (настроенный в приложении gradle) создает режим отладки по умолчанию.

com.android.application

Путь файла к хранилищу ключей:

HOME/.android/debug.keystore

Я рекомендую прикрепить debug.keystore к build.gradle. Для этого поместите файл debug.keystore в папку приложения, а затем добавьте SigningConfigs в gradle app:

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

Дополнительно: если вы хотите создать для выпуска, поместите файл release.keystore в папку приложения. (В этом примере используется тот же debug.keystore)

Ответ 15

Если вы используете Android Studio. Вам не нужно создавать отпечаток SHA1 с помощью команды cmd. Вам просто нужно создать проект со статусом Карт по умолчанию для Android Studio. В проекте вы можете получить отпечаток в google_maps_api.xml в папке "Значения". Надеюсь, что это поможет вам.:)

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

Ответ 16

Для тех, кто на Mac ищет keytool. выполните следующие действия:

Во-первых, обязательно установите Java JDK http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-jdk.html

Затем введите это в командной строке:

/usr/libexec/java_home -v 1.7

он выплюнет что-то вроде:

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

keytool находится в том же каталоге, что и javac. т.е.:

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

В каталоге bin вы можете использовать keytool.

Ответ 17

Я думаю, что это сработает отлично. Я использовал то же самое:

Для Android Studio:

Нажмите "Создать" > "Создать подписанный APK". Вы получите окно сообщения, просто нажмите "ОК".

Теперь будет другое окно, которое просто скопирует путь хранения ключей.

Теперь откройте командную строку и перейдите в C:\Program Files\Java\jdk1.6.0_39\bin > (или любую установленную версию jdk).

Введите keytool -list -v -keystore, а затем вставьте свой путь к хранилищу ключей (например, C:\Program Files\Java\jdk1.6.0_39\bin > keytool -list -v -keystore "E:\My Projects\Android\android studio\signed apks\Hello World\HelloWorld.jks" ).

Теперь он запросит пароль для хранения ключей, предоставит вам и нажмите Enter, чтобы получить ключи сертификата SHA1 и MD5.

Теперь добавьте этот ключ SHA1 в консоль разработчиков Google на вкладке учетных данных, а также измените варианты сборки в студии Android в режиме выпуска.

Ответ 18

Я был так запутан в первый раз, но я предлагаю вам окончательное рабочее решение для Windows:

1) Откройте cmd и перейдите в каталог Java/jdk/bin (просто нажмите cd .., чтобы вернуться к одной папке назад и cd NAME_FOLDER, чтобы перейти в одну папку вперед), в моем случае, конечная папка: C:\Program Files\Java\jdk1.8.0_73\bin> введите описание изображения здесь

2) Теперь введите эту команду keytool -list -v -keystore C:\Users\YOUR_WINDOWS_USER\.android\debug.keystore -alias androiddebugkey -storepass android -keypass android

В результате вы должны получить что-то вроде этого: введите описание изображения здесь

Ответ 19

Вот мое легкое решение для этого.

Нажмите кнопку Gradle, вы можете найти ее с правой стороны. вы увидите все файлы gradle. Теперь перейдите к android и дважды щелкните по подпискеReport. После завершения сборки gradle вы увидите SHA-ключ. Проверьте приведенные ниже изображения для пошагового руководства.

Как только вы нажмете gradle, проверьте приведенные ниже изображения. Надеюсь, это поможет кому-то.

STEP1: Изображение Шаг один

STEP2: Шаг Шаг второй

Ответ 20

Используя portecle:

  • Файл > Открытый файл Keystore
  • Введите пароль хранилища ключей
  • Щелкните правой кнопкой мыши на псевдониме > Данные сертификатa > Отпечаток пальца SHA-1

Ответ 21

Это видео мне очень помогло

здесь

Ответ 22

Самый простой способ получить SHA-1 для версии и отладки в студии android studio gradle. Проверьте это

Ответ 23

Я хотел бы отправить уведомление тем, у кого такая же проблема, как и я. Я прошел через шаги по созданию моего отладочного SHA-1 и моего релиза SHA-1. Я пытался подключить API входа в Google с моим приложением.

Я столкнулся с проблемой, что debug.apk будет работать нормально, он будет подключаться и аутентифицироваться с помощью входа в Google. Мой релиз .apk также будет работать при установке вручную на телефон. Когда я отправил свой выпуск .apk в магазин Google Play, мой вход в Google не будет проходить проверку подлинности, и у меня возникнет проблема!

В течение самого долгого времени я не мог понять это, но я обнаружил, что мое приложение подписывается google, т.е. появляется сообщение в верхней части консоли разработчика: Подписывается приложение Google Play App Signing для этого приложения.

Я перешел на вкладку "Управление выпуском", затем прокрутился до "Подпись приложения" и нашел там SHA-1. Добавив это в свой код и на "firebase console", которые я использовал в качестве бэкэнда для входа в Google, все, казалось, сработало. Похоже, что мое хранилище ключей было заменено подписанным сертификатом google... Я не совсем уверен, что это то, что происходило, но оно разрешило мою проблему и разрешило моей версии Apple App Store для правильной аутентификации с помощью знака google в!

Ответ 24

Пошаговое решение:

  • Откройте командную строку или терминал для Mac
  • Измените каталог в каталог расположения файла keytool. Измените каталог с помощью команды cd <directory path>. (Примечание: если какое-либо имя каталога имеет пробел, добавьте \ между двумя словами. Пример cd /Applications/Android\ Studio.app//Contents/jre/jdk/Contents/Home/bin/)

    • Чтобы найти местоположение вашего ключевого инструмента, перейдите в андроид-студию... откройте свой проект. И идите к

    • Файл > Структура проектa > Местоположение SDK.. и найдите местоположение JDK.

  • Запустите keytool с помощью этой команды: keytool -list -v –keystore <your jks file path> (Примечание: если какое-либо имя каталога имеет пробел, тогда добавьте\между двумя словами. example keytool -list -v -keystore /Users/username/Desktop/tasmiah\ mobile/v3/jordanos.jks)

  • Запрограммируйте запрос на ввод пароля.. поэтому введите пароль... затем вы получите результат