Intereting Posts
Как сделать несколько запросов и ждать, пока данные будут получены из всех запросов в версии 2.0 – android Запуск нескольких Android-эмуляторов с разными номерами телефонов Как сделать многострочный график в режиме реального времени? Общая полупрозрачная ошибка Android Настройка голографической темы в Honeycomb Доступен ли QT для платформ Android и iPhone? Android, Как правильно использовать метод readTypedList в классе Parcelable? Обновлен до AppCompat v22.1.0 и теперь получает IllegalArgumentException: AppCompat не поддерживает текущие функции темы Проблемы с внешним хранилищем данных Android Эффективность обрисования холста андроида Построение OpenSSL на Android NDK Как создать Android VectorDrawables из Illustrator (или аналогичный инструмент)? Как передать аргумент для теста андроида junit (параметризованные тесты) Дооснащение 2 – Тело ответа недействительно, когда статус ответа – 422 (необработанный объект) Как я могу получить права root через Android SDK?

Цепочка сертификатов не найдена, как исправить и опубликовать в 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. Моя цель – подписать и сделать zipalign 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. 

ALSO TRIED : проверено, что я помню правильный пароль. Использование «keytool -list» из командной строки показывает мне ожидаемый список (он включает в себя один закрытый ключ).

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

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

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

keytool -keystore formconnect.keystore -list -v

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

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

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

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

Генерировать ключ

  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 

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

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

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