Как получить отпечатки SHA1 из сертификата p12?

Чтобы получить ключи от моего проекта Android, Google требует отпечаток пальца SHA1. Предложила эту команду: keytool-list-v-keystore mystore.keystore

Я прошел через различные варианты, но всегда с ошибкой Недопустимый вариант: Файлы keytool:-list [OPTION] ...

Например, моя команда:

C:\Program Files (x86)\Java\jre7\bin>keytool -storepass mypass -list -v -keystore C:\Program Files (x86)\Java\jre7\bin\android.p12

Если я установил файл p12 в корень (c:), то я получу еще одну ошибку - неверный формат хранилища ключей.

3 ответа

Решение

Для формата p12 (PKCS12) используйте опцию -storetype PKCS12,

Например:

keytool -list -v -keystore mykeystore.p12 -storetype PKCS12 -storepass 123456

Для проверки и манипулирования хранилищем ключей / сертификатами я рекомендую использовать инструмент GUI Portecle (ранее: KeyToolGUI). Вот удобный установщик Windows.

Это также можно сделать с помощью OpenSSL:

openssl pkcs12 -in <my pkcs12 file>.p12 -nodes -passin pass:<passphrase, or blank> |openssl x509 -noout -fingerprint

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

signingReport

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

Плагин Android (настроенный в приложении Gradle) по умолчанию создает режим отладки. Маршрут файла к хранилищу ключей: HOME /.android / debug.keystore

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

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

Другие вопросы по тегам