Попытка обновить «просроченное» хранилище ключей - PullRequest
7 голосов
/ 28 января 2011

Я пытаюсь заново подписать несколько jar-файлов, используя задачу муравья 'signjar', однако мне сообщается: «Срок действия сертификата подписавшего истек».

Итак, я попытался сгенерировать хранилище ключей, надеясь, что это «не истечет» его ...

keytool -genkey -keystore mykeystore -alias myalias

но после ввода пароля хранилища ключей я получаю: «ошибка keytool: java.lang.Exception: пара ключей не сгенерирована, псевдоним уже существует»

что я делаю не так? мне нужно удалить хранилище ключей, чтобы заново сгенерировать его, или есть простой способ обновить его, чтобы срок его действия не истек?

спасибо.

Ответы [ 2 ]

5 голосов
/ 28 января 2011

Вы перепутали условия. Хранилище ключей содержит ключи, ключ - это то, что используется для подписи.

AFAIK, вы пытаетесь поместить новый ключ в старое хранилище ключей, используя существующий псевдоним (имя). Почему ты просто не использовал новый? Либо это, либо сначала удалите старый ключ из хранилища ключей. Вам не нужно сбрасывать весь склад ключей.

Посмотрите на portecle , этот простой инструмент позволяет вам легче манипулировать хранилищем ключей.

2 голосов
/ 21 января 2015

Для этого просто регенерируйте свой сертификат еще раз, выполните следующие действия.

   1)keytool -genkey -v -keystore mycertificate.keystore -alias mykey -keyalg 
   RSA -keysize 2048 -validity 1000
   2)  jarsigner -verbose -keystore mycertificate.keystore D:\app.apk mykey
   3) jarsigner -verify app.apk
     If it  will have done then shows a message "successfully verified"
   4) zipalign -v 4 D:\app.apk D:\signedapp.apk

  it will generate new certificate. enjoy :)
...