2016-03-02 81 views
0

當我們要發佈我們的應用程序Play商店,我們需要簽署我們的密鑰庫應用程序,它可以通過一些可以產生這樣的:對於多個應用程序使用相同的密鑰存儲可以嗎?

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 

所以,它是確定使用的幾個應用程序相同的密鑰庫?

+0

是的爲什麼不呢?使用任何地方。但使用相同的密鑰庫不是個好主意。如果輸了,那麼你付出的代價要高得多 –

回答

1

Android developer site實際上建議簽署所有的應用程序使用相同的證書:

你應該簽署所有應用在整個應用程序的預期壽命相同的證書。有幾個原因,你應該這樣做:

  • 應用升級:當系統安裝更新到一個應用程序,它在新版本中與那些在現有版本的證書(或多個)進行比較。如果證書匹配,系統允許更新。如果您使用不同的證書籤署新版本,則必須爲應用程序分配不同的軟件包名稱 - 在這種情況下,用戶將新版本安裝爲全新的應用程序。

  • 應用程序模塊化:如果應用程序提出請求,Android允許由相同證書籤名的應用程序在同一進程中運行,以便系統將它們視爲單個應用程序。通過這種方式,您可以將應用程序部署到模塊中,用戶可以獨立更新每個模塊。

  • 代碼/通過權限數據共享:Android提供了基於簽名的權限執行,這樣應用程序可以公開的功能到與指定的證書籤名的另一個應用程序。通過使用相同證書籤署多個應用並使用基於簽名的權限檢查,您的應用可以以安全的方式共享代碼和數據。

但是,你應該把這個建議與一粒鹽。第一個要點只適用於給定應用程序的更新版本,而不適用於多個不相關的應用程序。第二個和第三個項目符號只有在您希望您的不同應用程序如上所述緊密合作時纔有用。

1

這完全是一個選擇問題。

因此,您有一個密鑰庫文件並對應於您擁有密碼,另一個是別名和其相應的傳遞,您可以將此別名用作不同應用程序的標識。只是建議將事情分開。

根據我的經驗,使用較少數量的密碼總是好的,否則你會在某處保持寫入安全。

1

這是確定的,有時會出現。在某些情況下,您甚至想要使用完全相同的密鑰簽署不同的應用程序。將它們全部複製到不同的商店會很愚蠢,所以你想在每個應用程序的同一商店中引用相同的密鑰。

1

如果他們完全不相關的應用程序,我建議使用不同的密鑰庫。如果你最終銷售的應用之一,你可以放棄相應的密鑰存儲的同時不會降低其他應用程序的安全性。

相關問題