Android数字签名keystore学习收集.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在 Android 系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用 于标识应用程序的作者和在应用程序之间建立信任关系 ,如果一个 permission 的 protectionLevel 为 signature ,那么就只有那些跟该 permission 所在的程序拥有同一个数字证 书的应用程序才能取得该权限。 Android 使用 Java 的数字证书相关的机制来给 apk 加盖数字 证书,要理解 android 的数字证书, 需要先了解以下数字证书的概念和 java 的数字证书机制。 Android 系统要求每一个安装进系统的应用程序都是经过数字证书签名的,数字证书的私钥 则保存在程序开发者的手中。 Android 将数字证书用来标识应用程序的作者和在应用程序之 间建立信任关系, 不是用来决定最终用户可以安装哪些应用程序。 这个数字证书并不需要权 威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。 同一个开发者的多个程序尽可能使用同一个数字证书 ,这可以带来以下好处。 (1)有利于程序升级, 当新版程序和旧版程序的数字证书相同时, Android 系统才会认为 这两个程序是同一个程序的不同版本。如果新版程序和旧版程序的数字证书不相同,则 Android 系统认为他们是不同的程序,并产生冲突,会要求新程序更改包名。 (2)有利于程序的模块化设计和开发。 Android 系统允许拥有同一个数字签名的程序运行 在一个进程中, Android 程序会将他们视为同一个程序。所以开发者可以将自己的程序分模 块开发,而用户只需要在需要的时候下载适当的模块。 (3)可以通过权限 (permission) 的方式在多个程序间共享数据和代码。 Android 提供了基 于数字证书的权限赋予机制, 应用程序可以和其他的程序共享概功能或者数据给那那些与自 己拥有相同数字证书的程序。 如果某个权限 (permission) 的 protectionLevel 是 signature,则这 个权限就只能授予那些跟该权限所在的包拥有同一个数字证书的程序。 在签名时,需要考虑数字 证书的有效期 : (1)数字证书的有效期要包含程序的预计生命周期,一旦数字证书失效,持有改数字证 书的程序将不能正常升级。 (2)如果多个程序使用同一个数字证书,则该数字证书的有效期要包含所有程序的预计 生命周期。 (3)Android Market 强制要求所有应用程序数字证书的有效期要持续到 2033 年 10 月 22 日以后。 Android 数字证书包含以下几个要点: (1)所有的应用程序都必须有数字证书 ,Android 系统不会安装一个没有数字证 书的应用程序 (2)Android 程序包使用的数字证书可以是 自签名的 ,不需要一个权威的数字证 书机构签名认证 (3) 如果要正式发布一个 Android ,必须使用一个合适的私钥生成的数字证书 来给程序签名 ,而不能使用 adt 插件或者 ant 工具生成的调试证书来发布。 (4) 数字证书都是有 有效期 的,Android 只是在应用程序安装的时候才会检查证 书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。 (5)Android 使用标准的 java 工具 Keytool and Jarsigner 来生成数字证书, 并给 应用程序包签名。 (6 )使用 zipalign 优化程序。 Android 系统不会安装运行任何一款未经数字签名的 apk 程序,无论是在模拟器上还是 在实际的物理

文档评论(0)

高胖莹 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档