【问题标题】:Signing problems with keystore and Android密钥库和 Android 的签名问题
【发布时间】:2014-02-15 00:42:14
【问题描述】:

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

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

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

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

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

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

现在我收到以下警告:

******* 警告 警告 警告 * em>******

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

******* 警告 警告 警告 * em>******

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

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

-德累斯顿先生

【问题讨论】:

  • 您是否尝试从控制台运行导出?也许在控制台中你可以有空白密码......否则该死的:)
  • 好吧,我一发布问题就想出了导出选项,所以它起作用了。我现在创建了一个带有密码的新密钥库,并将证书导入其中。但是现在我正在尝试使用证书签名,我在 Eclipse 中得到“未处理的事件循环异常”......确实该死。下雨就倾盆大雨!
  • 您是否使用新的密钥库从控制台尝试过 - 也许这是一个 Eclipse 问题?还可以尝试在您的 Eclipse 中更新 Android 插件 - 也许有可用的新版本?否则...该死的;-)
  • 尝试在控制台中执行此操作,但这会带来其他问题。在问题中列出它们。我肯定没有过最好的日子>.

标签: java android code-signing keystore android-keystore


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 2018-11-09
    • 2015-02-18
    • 2011-05-14
    • 2012-08-22
    • 2012-01-24
    • 1970-01-01
    相关资源
    最近更新 更多