2016-04-30 47 views
8

有興趣購買我的應用程序(實際上有用戶唯一的一個)中的一個,這意味着我需要送他原始的源代碼,密鑰庫和開發要求谷歌爲傳遞以下此鏈接:https://support.google.com/googleplay/android-developer/answer/6230247?hl=enAndroid應用轉移到其他開發人員

問題是:我的所有應用程序都使用同一個密鑰庫中的相同證書。

所以我的問題是:新開發者是否可以劫持我的其他應用程序?

我相信答案是「否的設備將允許使用同一證書,並使用相同的包名在設備上更新簽署了另APK,但谷歌播放不會允許開發者上傳的另一個應用程序使用與我的其他應用程序相同的軟件包名稱「。

但我不確定,我想了解更多技術細節。

正如我所說的,其他的應用程序我並不重要,我也可以同樣取消發佈他們。但我寧願不,即使我這樣做,這個問題仍然有效。

PS:是的,現在我明白了,我應該有每個應用程序1證書。

+0

您的任何應用程序是否正在使用或計劃使用sharedUserId? – ligi

+0

沒有,沒有計劃。 – Budius

+0

在不知道代碼的情況下,如果共享密鑰庫(在極少數情況下可能是KO,但我通常不會推薦它),評估可能的攻擊向量仍然很難評估 - 您是否使用任何基於證書的權限? (protectionLevel簽名) – ligi

回答

4

您的應用程序的軟件包名稱在Play商店中是唯一的。這是設備(和Play商店)如何識別您的應用程序,因此必須是唯一的,無法更改。 Android不允許用戶使用相同的包名安裝兩個應用程序。

但是,將您的密鑰庫交給其他開發人員仍然有風險。 Play商店在更新應用程序時使用兩個門:

  • 首先,您必須有權訪問擁有應用程序的帳戶。

  • 其次,你必須有一個APK使用正確的密鑰庫

通過給你的密鑰存儲訪問的人簽署,則刪除這兩個安全檢查中的一個。如果應用程序的新所有者能夠訪問您的開發者帳戶,他們也可以重新發布其他應用程序。這個新所有者也有可能將密鑰庫和應用程序出售給未來可能做同樣事情的其他人。

從理論上講,如果你的賬戶是安全的,那麼你的其它應用程序也可從劫持安全。

風險是否可以接受取決於您。

+0

最後,我決定放下這個機會,併爲未來學習,我應該爲每個應用程序執行1個證書。說所有你的答案是最有洞察力的,因此被標記爲正確的+賞金。 – Budius

0

新開發者是否可以劫持我的其他 應用程序?

沒有辦法在世界上的任何其他的應用程序做任何事情,除非你給他你的keystore

keystore的關鍵是所有的應用程序,你應該不會與任何人分享。在我的開發者帳戶中使用您的keystore簽名的應用永遠不會讓我對您自己的應用執行任何操作。

任何人都可以使用不同的密鑰庫在遊戲商店中發佈應用程序。

1

他們可以簽署APK並鼓勵您的現有用戶加載它。當側載時,應用程序無法知道它是否來自您或他們。但Play商店本身不會讓他們上傳沒有轉移給他們的應用。

通常,買方購買應用程序並使用其他應用程序使用的密鑰時,協議的一部分將包含買方必須保護密鑰的小片段。這個協議無論如何都是雙邊的,因爲你理論上可以通過旁路籤名的APK來劫持他們的用戶。

相關問題