должен ссылаться на действительную запись ключа KeyStore, содержащую закрытый ключ и соответствующую цепочку сертификатов открытого ключа - PullRequest
0 голосов
/ 04 ноября 2018

Я сделал следующие шаги, чтобы подписать APK с помощью сертификата загрузки Google.

  1. Получил сертификат загрузки из раздела подписи приложений на сайте разработчика Google Play.
  2. Создан ключ

    keytool -genkey -v -keystore XXXXX.keystore -alias XXXXX -keyalg RSA -keysize 2048 -действительность 10000

  3. Импортировал сертификат загрузки из Google

    keytool -importcert -file upload_cert.der -keystore XXXXX.keystore

  4. Затем я перечисляю информацию о хранилище ключей

    keytool -list -v -keystore XXXXX.keystore -storepass Пароль

  5. Оттуда я вижу, что в сертификате импортера от Google есть псевдоним "mykey"

  6. Когда я пытаюсь подписать apk, используя псевдоним "mykey" jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -kystore XXXXX.keystore android-release-unsigned.apk XXXXX

Я получаю следующую ошибку: mykey должен ссылаться на действительную запись ключа KeyStore, содержащую закрытый ключ и соответствующую цепочку сертификатов открытого ключа.

1 Ответ

0 голосов
/ 05 ноября 2018

Подписание APK требует не только сертификата (который является общедоступной информацией), но и закрытого ключа. Хотя Play Console предоставляет вам сертификат для удобства, только у вас есть доступ к закрытому ключу. Ключ загрузки - это любой ключ, который вы использовали для подписи первого загруженного вами APK (если вы уже зарегистрировались в App Signing by Play): просто заново зарегистрируйте тот же ключ хранилища + псевдоним, что и при первой загрузке, и все будет в порядке. Если вы потеряли ключ, подписанный вами изначально, вы можете связаться со службой поддержки Play, чтобы сбросить ключ.

...