什么是手机APP签名,为什么要给APP签名
什么是手机APP签名?
Android中的签名:手机系统希望获得开发者的签名,即开发者把别名,有效期,密码,组织,国家,城市等等写在Android应用程序中。 签名就是把特定的标识(别名组织国家等)标记到指定的地方(应用程序)
为什么要给苹果应用程序签名?
因为现在苹果APP官方下载渠道只有App Store,还可以加上一个内测用的testflight,并且审核很严格,很多软件因为各种各样的原因无法成功上架,也就是说,除了这两个官方渠道,原则上来说,其他渠道的APP是无法安装在苹果手机上的。所以很多人就想到了通过iOS签名,让APP绕过苹果审核,直接安装在iOS手机上。
iOS苹果中的签名:简单来说,苹果iOS签名是一种可以让iPhone不越狱安装ipa文件的方法,ipa文件甚至也不需要上架到App Store,就能直接安装。苹果软件签名相当于是赋予了ipa文件一种较高的权限,让ipa文件能够绕过苹果审核直接安装在iOS手机上的一种手段,或者以真机测试的方式进行安装。
为什么要给Android应用程序签名?
Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!
Android通过数字签名来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。这个数字签名由应用程序的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。
Android项目以它的包名作为唯一的标识,如果在同一部手机上安装两个包名相同的APP,后者就会覆盖前面安装的应用。为了避免Android APP被随意覆盖,Android要求对APP进行签名。
签名的意义在于保证开发者的合法利益,每一个发布的APP签名都是唯一的,所以要求开发者再发布APP之前,必须拥有一个自己独立的签名,没有签名的APP上线不了。应用市场上APP签名不允许相同,也不会相同,但允许有相同的包名,相同签名的APP高版本可以覆盖低版本。
这样做的根本原因是系统需要一个机制,保证以下几点:
1.拿到一个应用的安装包,能够知道作者是谁
2.当应用更新时,能够检测是不是作者本人提交的
3.应用中的部分文件遭到修改时,能够检测到是否为作者本人做出的修改 为了实现上述目的,手机系统就引入了签名这种比较成熟的方法。
签名与应用商店有什么关系?
通过签名的检测和对比,应用商店能够从中识别到开发者的信息,在下面的几个场景中应用商店会依赖签名:
1.应用的认领
2.每次应用提交更新,确保是作者本人提交
3.当有人试图冒充作者提交应用时,应用商店能够阻止该行为
4.通过签名黑名单,阻止恶意软件作者提交应用