0

所以我在市场上有一个Android应用程序,现在我需要更新它。我一直在尝试签署新的 apk,但遇到了困难。

我有密钥库,并已使用keytool -list -v -keystore deployment.keystore. 密钥库没有密码,不记得这样做了,但你去了。如果我输入任何内容,我会收到一个错误,如果我不输入,那么它会接受命令并列出包含的证书。

现在的问题是,当尝试在 Eclipse 中导出 apk 文件时,使用导出向导,我不允许在密钥库上没有密码,因此我无法获取里面的凭据。因此,我尝试运行以下命令以尝试更改 keystore 上的密码keytool -storepasswd -keystore deployment.keystore。我被要求输入密码,空字符串密码和我要设置的新密码都不被接受。如果它的长度 < 6 个字符,我会再次收到提示,如果它 > 6 个字符,我会收到以下错误:keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect.

现在我不知道该怎么办,并寻求SO的集体知识来帮助我。

更新:我现在已导出证书,然后将其再次成功导入新的密钥库。Unhandled event loop exception现在的问题是,当我尝试签名时,我在 Eclipse 中得到了一个。有任何想法吗?

更新 2:尝试通过终端签名以避免 Eclipse 抛出的异常出现了新问题。我正在尝试以下操作jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore new.keystore myApp.apk myAlias:我的新密钥库中只有证书,但没有私钥,所以我一直在尝试通过运行将它们从旧密钥库导出为 p12 keytool -importkeystore -srckeystore deployment.keystore -destkeystore myKeystore.p12 -deststoretype PKCS12

现在我收到以下警告:

** * ** * * 警告 警告 警告 * ** * ** *

存储在 srckeystore* * 中的信息的完整性尚未得到验证!为了验证其完整性, * * 您必须提供 srckeystore 密码。

** * ** * * 警告 警告 警告 * ** * ** *

这现在提示我输入 srckeystore 的密码,该密码是空字符串。这是我似乎陷入的一些循环漏洞!

更新 3: 我现在通过使用 command 成功更改了原始密钥库密码-storepass。但是,现在提示我输入密钥库中实际私钥/公钥对的密钥传递。我不记得设置这些,即使我读过they default to the keystore password if not set他们不接受我输入的任何内容。我的搜索还在继续。

-德累斯顿先生

4

1 回答 1

0

在尝试了一些不同的事情之后,我们最终使用新密钥库中的新密钥重新发布了应用程序。值得庆幸的是,它只发布了几个小时,根本没有被推广,所以只有大约 10 个用户受到影响。这仍然是许多人。

毕竟,我们已经开始设置 Maven,所有发布都将在 Maven 服务器编译并签署应用程序后完成。一切都已备份,所有密码都被记录下来等。

于 2013-04-15T11:05:40.237 回答