7
考慮到我想支持所有安卓設備,比如Froyo或更高版本,我可以使用哪種最安全的簽名算法?我不需要將我的APK放入Android Market。哪些版本的Android支持哪些包簽名算法?
我知道,例如,有些手機支持sha1withrsa
,但不支持sha256withrsa
(Link)。
考慮到我想支持所有安卓設備,比如Froyo或更高版本,我可以使用哪種最安全的簽名算法?我不需要將我的APK放入Android Market。哪些版本的Android支持哪些包簽名算法?
我知道,例如,有些手機支持sha1withrsa
,但不支持sha256withrsa
(Link)。
請參考android dev guide on signing。 當前的默認方法是SHA1withRSA
:
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore my_application.apk alias_name
,而在幾年前簽名方法推薦爲MD5withRSA
。
[...]什麼是最安全的簽名算法可以使用嗎?
您是否擔心某些特定攻擊會讓您認爲SHA1withRSA
或SHA256withRSA
會更安全?我無法預見任何情況。
這似乎不是當前(2014年1月)在http://developer.android.com/tools/publishing/app-signing.html文檔中的建議。但是我可以證明,只有MD5withRSA似乎適用於我在我面前的索尼Xperia E手機(Android 4.1)。 – jrg
截至2015年5月,他們使用'SHA1withRSA'作爲默認/推薦方法。 – kravietz