Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从应用程序检索密钥库或更改证书_Android - Fatal编程技术网

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

Android 从应用程序检索密钥库或更改证书,android,Android,我弄得一团糟:当我格式化我的电脑时,我丢失了我用来签署android应用程序的钥匙。 谷歌抱怨说,应用程序更新必须使用相同的证书进行签名,但我已经没有了……有没有办法解决这个问题? 我可以访问旧的签名APK,我不敢相信谷歌仅仅依赖一个文件…这是不可能的。密钥库包含用于对apk进行数字签名的证书。每个证书都是完全唯一的,不能从旧的APK重新生成或恢复 谷歌之所以依赖于此,是因为它非常安全,并允许他们真正减少有人入侵您的开发者帐户详细信息并将恶意apk作为更新上传到您现有应用程序的机会 即使谷歌允许

我弄得一团糟:当我格式化我的电脑时,我丢失了我用来签署android应用程序的钥匙。 谷歌抱怨说,应用程序更新必须使用相同的证书进行签名,但我已经没有了……有没有办法解决这个问题?
我可以访问旧的签名APK,我不敢相信谷歌仅仅依赖一个文件…

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

谷歌之所以依赖于此,是因为它非常安全,并允许他们真正减少有人入侵您的开发者帐户详细信息并将恶意apk作为更新上传到您现有应用程序的机会

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

现在,你必须用不同的包名和密钥重新加载应用程序。将来,请记住将密钥库备份到多个位置(但要安全地进行备份。不要意外地将其提交到公共版本控制系统中。密钥库应始终保持私有)

数字签名基于公钥密码。在给定公钥的情况下,无法恢复私钥--这就是公钥加密的全部意义。这类算法基于单向函数:容易实现但难以逆转的事情