android apk 数字证书 数字签名

Android数字证书包含以下几个要点:

  1. 在Android系统中,所有安装到系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系;Android系统不会安装一个没有数字证书的应用程序,,无论是在模拟器上还是在实际的物理设备上。
  2. 如果一个permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应用程序才能取得该权限。
  3. Android系统要求每一个安装进系统的应用程序都是经过数字证书签名的,数字证书的私钥则保存在程序开发者的手中。
  4. Android将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。
  5. Android程序包使用的数字证书可以是自签名的,这个数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。
  6. 如果要正式发布一个Android?,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt插件或者ant工具生成的调试证书来发布。
  7. 数字证书都是有有效期的,Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。
  8. Android使用Java的数字证书相关的机制来给apk加盖数字证书;Android使用标准的java工具 Keytool and Jarsigner 来生成数字证书,并给应用程序包签名;使用zipalign优化程序。
  9. Android的开发工具(ADT插件和Ant)都可以协助开发者给apk程序签名,它们都有两种模式:调试模式(debug?mode)和发布模式(release?mode)。在调试模式下,android的开发工具会在每次编译时使用调试用的数字证书给程序签名,开发者无须关心。当要发布程序时,开发者就需要使用自己的数字证书给apk包签名,可以有两种方法。(1)在命令行下使用JDK中的和Keytool(用于生成数字证书)和Jarsigner(用于使用数字证书签名)来给apk包签名。(2)使用ADT Export Wizard进行签名(如果没有数字证书可能需要生成数字证书)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值