Подтвердить что ты не робот

Цепочка сертификатов не найдена, как исправить и опубликовать в Google Play Store?

СООБЩЕНИЕ ОШИБКИ:

jarsigner: Certificate chain not found for: project_foo.<br/>
project_foo must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

Вопрос: Как включить цепочку сертификатов открытого ключа для устранения ошибки?

ПРЕДПОСЫЛКИ: Разработчик приложения завершил приложение для Android и доставил неподписанный APK под названием Foo.apk. Моя цель - подписывать и подписывать APK при подготовке к загрузке в магазин Google Play. Мое хранилище ключей расположено в каталоге C:\Path \.keystore на компьютере под управлением Windows.

COMMAND LINE, моя команда:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore C:\Path\\.keystore Foo.apk project_foo

КОМАНДНАЯ ЛИНИЯ, ответ:

Enter Passphrase for keystore:
jarsigner: Certificate chain not found for: project_foo.<br/>
project_foo must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

ТАКЖЕ ПОРЯДОК: Убедитесь, что я помню правильный пароль. Использование "keytool -list" из командной строки показывает мне ожидаемый список (он включает в себя один закрытый ключ).

ПРЕДЫДУЩАЯ ОС ВОПРОСОВ: цепочка сертификатов не найдена, заданной с помощью файла .cer из Verisign. У меня нет подобного файла.

ДРУГАЯ ИНФОРМАЦИЯ: машина Windows 7, используя стандартную командную строку Windows.

4b9b3361

Ответ 1

keytool -keystore formconnect.keystore -list -v

Вы можете использовать эту команду, чтобы узнать свое имя псевдонима после того, как вы создали свой ключ.

Первая строка исполнения содержит псевдоним: <value> Если используется keytool, то псевдоним может быть "mykey".

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

Ответ 2

У меня была такая же проблема мои команды были

для генерации ключа

 keytool -genkey -v -keystore testapp-key.keystore -alias testapp-key -keyalg RSA -keysize 2048 -validity 10000

, а затем я сделал это, чтобы подписать приложение

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore testapp-key.keystore testapp.apk testapp

я получил эту ошибку

jarsigner: Certificate chain not found for: testapp.<br/>
project_foo must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.

то я заменил псевдоним 'testapp' в команде jarsignir с псевдонимом ключа 'testapp-key', который находится в первой команде, т.е. команда генерации ключа

команда будет выглядеть так:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore testapp-key.keystore testapp.apk testapp

в вашем случае это будет как это

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore C:\Path\\.keystore Foo.apk your-key-alias

Ответ 3

Разработчик нашей команды предложил решение, которое устранило проблему. Раньше я скопировал Foo.apk в каталог с jarsigner.exe и попытался запустить его там. Он предложил:

  • Установите переменную среды PATH, чтобы Windows могла найти исполняемый файл jarsigner.
  • Переместите Foo.apk на путь, где было расположено хранилище ключей.
  • Выполните приведенную ниже команду (без использования пути для поиска хранилища ключей).
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore .keystore Foo.apk project_foo

Это работает! Устранение необходимости указания пути к файлу хранилища ключей устранило проблему.

Ответ 4

добавить путь к папке unsigned.apk

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore keystorename.keystore..... \platform\android\build\output\apk\android-release-unsigned.apk aliasname

он работает для меня!!