当APK有两个签名并且有一个签名升级时会发生什么?

时间:2014-01-13 20:13:56

标签: android amazon-appstore google-play

我正在通过亚马逊应用商店以及谷歌的应用商店发布应用。

亚马逊选择使用APK,然后使用自己的证书进行签名,同时也为您提供了使用您的证书签署修改过的APK的机会。

如果一个APK使用两个证书进行签名,只有一个证书可以升级(即Google Play中的升级可用于最初来自亚马逊商店的安装)会发生什么?在升级之前,包管理器是否需要来自两个证书的签名?或任何一个证书?或者其中一个证书是否优先考虑?

2 个答案:

答案 0 :(得分:1)

我做了一些研究。

https://groups.google.com/forum/#!topic/android-security-discuss/npRHQzzgErM

Redux:截至四年前,谷歌还不知道。

http://www.escapades-in-security.com/blog/2012/12/android-apk-supersignature.html

Redux:建议一种模式,要求签名集匹配执行操作,因此可能需要双重签名升级。

还没有确定的,我开始认为亚马逊没有添加第二个签名,也不确定我从哪里获得这个想法。 (也许我是从这里得到的:digitial signature amazon app store

答案 1 :(得分:1)

前一段时间我通过电子邮件发送了Amazon Appstore dev支持,这是他们的回答:

  

在这种情况下,我们会审核您的提交内容并确定是否需要   你的签名。如果我们认为确实如此,我们将启用签名   功能并发送给您指示,但如果我们认为它不是我们会   用我们自己的签名覆盖你的签名。

所以他们确实删除了你原来的签名。自从我发送电子邮件后,我现在只提交我上传到Google Play的已签名APK,并让亚马逊剥离证书并应用自己的证书。这为我节省了仅为亚马逊编译未签名APK的时间。

旁注:我认为不可能在同一设备上安装具有两个不同证书的应用/包。因此,您无法同时安装Google Play和Amazon Appstore中的应用。我可能错了。