Trying to refresh 'expired' keystore

独自空忆成欢 提交于 2019-12-09 17:18:10

问题


I am trying to re-sign some jars using the ant task 'signjar' however it's telling me "The signer certificate has expired."

So I tried to re-generate the keystore hoping this would 'un-expire' it...

keytool -genkey -keystore mykeystore -alias myalias

but after entering the keystore password i get: "keytool error: java.lang.Exception: Key pair not generated, alias already exists"

what am i doing wrong? do i need to delete the keystore to re-generate it or is there a simple way to refresh it so it's not expired?

thanks.


回答1:


You're mixing up the terms. A keystore contains keys, a key is something used for signing.

AFAIK, you're trying to put a new key into an old keystore using an existing alias (name). Why don't you simply used a new one? Either this or delete the old key from the keystore first. You don't need to drop the whole keystore.

Have a look at portecle, this simple tool allows you to manipulate the keystore more easily.




回答2:


For this simply regenerate you certificate again follow these steps.

   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 :)


来源:https://stackoverflow.com/questions/4823302/trying-to-refresh-expired-keystore

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!