2011-03-08 67 views
35

有關Android密鑰庫「應該」的位置有什麼指導原則嗎?我準備發佈我的第一個應用程序,並在導出Android應用程序我正在創建一個新的密鑰庫,它要我指定的位置。適用於Android密鑰存儲的好位置?

FWIW我的Eclipse工作區位於共享網絡驅動器上,我可以從3種不同的開發系統中訪問它。這樣做沒有問題。密鑰庫位置的默認位置似乎在SDK目錄樹中,但這對我來說不起作用,因爲每臺PC都有自己的SDK安裝副本。我需要將它放在可以從任何PC上看到的位置,我可能會從中進行開發工作,所以我假設這意味着網絡驅動器或雲中的某個虛擬位置。

是否存在有關密鑰庫位置的準則,規則,限制或其他事情?

回答

27

只要它是安全的地方,這並不重要(即遠程的源代碼控制或利用其他方法備份)。如果您以某種方式丟失了密鑰存儲庫,那麼您將無法再在Android市場上更新您的應用程序,並且將被迫刪除該應用程序並將其重新上傳爲使用新密鑰簽名的新應用程序。

如果您擔心安全問題,請記住它內部的密鑰庫和個人密鑰都可以(也應該)受密碼保護。

我的密鑰庫位於我的android eclipse工作區的根目錄,這也是我用於版本控制的git存儲庫的根目錄。看到你在多臺機器上開發,並且可能希望從其中任何一臺發佈,我會建議做同樣的事情。

+7

如果您的項目位於Github上,該怎麼辦?將密鑰庫放在根文件夾中是安全的嗎? – 2014-05-29 07:53:50

+1

我想這是因爲它的密碼保護。 Iam與我在github上的公開回購相同 – ThanosFisherman 2015-09-03 02:01:01

+3

如果源代碼是開放的,我認爲在項目的任何地方提交它並不是一個好主意(雖然它可能會停留在那裏),因爲**早晚有人可以解密/暴力破解文件**及其密碼。但是,如果您的代碼未打開並且未發佈,那麼只要您的回購是私密且安全的,那麼將密鑰存儲存儲在根目錄或「app」目錄中是無害的。 – soshial 2017-08-11 13:43:12

11

你想保持你的Keystore安全。如果有人獲得了它,你基本上將失去創作身份。

http://developer.android.com/guide/publishing/app-signing.html(頁面底部)

+4

「如果第三方應設法把你的鑰匙在您不知情或許可的,這個人可以簽署併發布惡意代替真實應用程序或破壞它們的應用程序,這樣的人也可以根據您的身份簽署和分發應用程序,攻擊其他應用程序或系統本身,或者破壞或竊取用戶數據。 - 我想這就是你所指的。 (它不再處於頁面底部) – RenniePet 2014-10-12 06:30:26

17

我希望github有一個內置的工具來支持爲公共開放源代碼回購存儲偶爾的私人文件。這對於與源代碼相關聯的證書和密鑰庫很重要,但不應公開可見。

理想情況下,github會有某種類似的keystore倉庫,它會像小型私人倉庫一樣行事。這樣,您可以將您的私人密鑰存儲放置在私人資料庫中,並只與應允許管理您的Google Play和iTunes Connect帳戶的帳戶共享。

直到那一天,我已經採取將我的密鑰庫文件存儲在一個免費的私人回購bitbucket上,然後把一個鏈接到我的github開源回購中的bitbucket回購。這樣,它不會丟失,因爲任何可以檢查源代碼的人都可以看到密鑰庫的位置,但它也不是公開可用的。 Github,如果你在聽,我認爲支持一個非常有限的,免費的私人回購只是爲了密鑰存儲將是一個偉大的服務,開源移動應用社區。

+0

GitHub免費提供了很多東西。你可以簡單地購買訪問私人存儲庫。額外的要求等於額外的價格它不花錢,但服務質量非常好。這就是GitHub賺錢的方式。當他們開始免費提供一切時,他們可以關閉他們的業務。 – 2017-05-11 17:16:05

4

我最近有同樣的問題,並在網上尋找不同的意見。大多數人說,遠程存儲這是你想做的事情,以防萬一你的房子或工作場所被燒燬(你笑,但有消防車出於某種原因)。沒有人真正說過將它遠程存儲在回購本身中。

我想要做的是爲android應用創建一個Google帳戶(您應該有一個帳戶,因爲您需要它通過playstore進行發佈),然後在Google Drive上使用Google的免費15GB空間來存儲我的所有密鑰存儲區和其他任何應用程序相關,我不想放在源代碼控制,但我絕對不需要鬆動。也許這對你和其他人將來都有用。