从应用程序检索密钥库或更改证书

时间:2012-12-24 10:58:26

标签: android

我弄得一团糟:当我格式化我的电脑时,我丢失了用来签署我的Android应用程序的密钥。 Google抱怨说应用程序更新必须使用相同的证书进行签名,但我不再拥有它...有没有办法解决这个问题? 我可以访问较旧的签名apks,我不相信谷歌只依赖于一个文件......

1 个答案:

答案 0 :(得分:2)

这是不可能的。密钥库包含一个证书,用于对您的apk进行数字签名。每个证书都是完全唯一的,无法从旧版本中重新生成或恢复。

Google依赖于此,因为它非常安全,并且可以让他们真正减少有人破解您的开发者帐户详细信息并将恶意apk上传为现有应用的更新的可能性。

即使Google允许您上传使用其他密钥签名的apk作为更新,Android设备也不允许用户更新应用,因为安装的apk与正在安装的apk不同。如果您从Google Play安装应用程序然后尝试从Eclipse安装调试版本,则会遇到同样的问题。

目前,您必须使用不同的密钥在不同的软件包名称下重新上传应用程序。将来,请记住将密钥库备份到多个位置(但要安全地进行备份。不要将其意外地提交到公共版本控制系统。密钥库应始终保密。)

数字签名基于公钥加密。给定公钥时,您无法恢复私钥 - 这就是公钥加密的重点。这些算法基于单向函数:易于操作但难以逆转的事物。