8

我正在尝试使用 ant 任务“signjar”重新签署一些 jar,但它告诉我“签名者证书已过期”。

因此,我尝试重新生成密钥库,希望这会使其“过期”...

keytool -genkey -keystore mykeystore -alias myalias

但输入密钥库密码后,我得到:“keytool 错误:java.lang.Exception:未生成密钥对,别名已存在”

我究竟做错了什么?我是否需要删除密钥库才能重新生成它,或者是否有一种简单的方法可以刷新它以使其不会过期?

谢谢。

4

2 回答 2

6

你混淆了条款。密钥库包含密钥,密钥是用于签名的东西。

AFAIK,您正在尝试使用现有别名(名称)将新密钥放入旧密钥库。你为什么不干脆用一个新的?要么这样做,要么先从密钥库中删除旧密钥。您不需要删除整个密钥库。

看看portecle,这个简单的工具可以让您更轻松地操作密钥库。

于 2011-01-28T01:46:28.790 回答
2

为此,只需按照以下步骤重新生成您的证书。

   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 :)
于 2015-01-21T10:51:09.277 回答