8

Ant タスク「signjar」を使用していくつかの jar に再​​署名しようとしていますが、「署名者証明書の有効期限が切れています」と表示されます。

だから私はこれがそれを「期限切れにしない」ことを期待してキーストアを再生成しようとしました...

keytool -genkey -keystore mykeystore -alias myalias

しかし、キーストアのパスワードを入力すると、「keytool エラー: java.lang.Exception: キー ペアが生成されていません。エイリアスは既に存在します」というメッセージが表示されます。

私は何を間違っていますか?キーストアを削除して再生成する必要がありますか、それとも期限切れにならないように更新する簡単な方法はありますか?

ありがとう。

4

2 に答える 2

6

あなたは用語を混同しています。キーストアにはキーが含まれており、キーは署名に使用されるものです。

私の知る限り、既存のエイリアス (名前) を使用して新しいキーを古いキーストアに入れようとしています。単に新しいものを使用しないのはなぜですか。これを行うか、最初にキーストアから古いキーを削除してください。キーストア全体を削除する必要はありません。

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 に答える