根据自己的理解描述下Android数字签名?
来源:互联网 发布:linux集群与自动化运维 编辑:程序博客网 时间:2024/05/22 10:25
(1) 所有的应用程序都必须有数字证书。Android系统不会安装一个没有数字证书的应用程序。
(2) Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证。
(3) 如果要正式发布一个Android,必须使用一个合适的私钥生成的数字证书来给程序签名,而不能使用adt插件或者ant工具生成的调试证书来发布。
(4)数字证书都是有有效期,Android只是在应用程序安装的时候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能
总结
1)Android应用程序签名只是用来解决发布的应用不被别人篡改的,其并不会对应用程序本身进行加密,这点不同于Windows Phone和iOS。
2)Android并不要求所有应用程序的签名证书都由可信任CA的根证书签名,通过这点保证了其生态系统的开放性,所有人都可以用自己生成的证书对应用程序签名。
3)如果想修改一个已经发布的应用程序,哪怕是修改一张图片,都必须对其进行重新签名。但是,签原始应用的私钥一般是拿不到的(肯定在原始应用程序开发者的手上,且不可能公布出去),所以只能用另外一组公私钥对,生成一个新的证书,对重打包的应用进行签名。所以重打包的apk中所带证书的公钥肯定和原始应用不一样。同时,在手机上如果想安装一个应用程序,应用程序安装器会先检查相同包名的应用是否已经被安装过,如果已经安装过,会继续判断已经安装的应用和将要安装的应用,其所携带的数字证书中的公钥是否一致。如果相同,则继续安装;而如果不同,则会提示用户先卸载前面已安装的应用。通过这种方式来提示用户,前后两个应用是不同开发者签名的,可能有一个是李鬼。
- 根据自己的理解描述下Android数字签名?
- 描述下Android数字签名
- 关于Android数字签名的描述
- 自己对保护模式下的描述符的理解
- Android Studio下的"数字签名"
- 插件描述:解决IE下不支持placeholder属性可以根据自己的需要去扩展.
- 关于Android中RSA数字签名的理解及使用
- 排序算法,按照自己的理解描述的
- 谈谈自己对文件描述符的理解
- .net下的数字签名
- 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
- linux下根据文件描述符获取出文件描述符所指向的文件名
- 公钥,私钥,数字签名的理解
- iOS 根据自己项目 说说对xml解析的理解
- Ubuntu下Android应用数字签名
- android的数字签名
- Android Studio 下获取应用的数字签名MD5、SHA1方法
- 掌柜大作战(17):Spring事务的原理,用自己的语言描述自己的理解
- 资本资产定价模型
- HDU 5631 Rikka with Graph 求从n+1 边中删除一些边使图依然联通
- ACM_模板_求质因子
- 【C#】报表制作<机房重构>
- UVALive 3026(KMP)
- 根据自己的理解描述下Android数字签名?
- 【Android学习】Android Activity生命周期
- 关于Linux中安装软件和加解压
- Tornado路由
- 搭建React Native开发环境
- Python基础回顾之-变量和数据类型
- Web前端环境搭建篇之-- 利用NodeJS来安装Ionic和Cordova
- 新手学习opencv七:svm
- MFC 程序隐藏界面