苹果iOS超级签名不会掉签是啥原理?是不是真的不会掉签?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了苹果iOS超级签名不会掉签是啥原理?是不是真的不会掉签?相关的知识,希望对你有一定的参考价值。

在使用ios系统的设备时,如果自己需要从App Store以外的环境安装APP,都需要手动对该APP进行信任,才能在自己的设备上正常使用,而且经常在用了一段时间后,APP会发生无法打开、闪退、出现受限等情况。其实,这是因为该APP的企业签名掉签的缘故。而另一种签名方式,也就是ios超级签名算是个人的签名,无需用户进行信任操作,这一点与企业签名有很大不同,使得在这种签名下的APP只要安装了就能用,并且十分稳定。但,这种签名并不是说真的不会掉签。


一、超级签名不会掉签的原理

ios超级签名的原理很简单,就是使用了苹果开发者个人账号实现的ios自动化签名,简单来说就是将苹果设备UDID进行添加然后打包进行真机测试。此外,由于这种签名是直接进行分发的,本身不用提供UDID,也无需上架App Store,更不用手动信任和提供账号来加以下载。也就是说,该签名在ios系统中的级别很高,所以该签名的APP比企业签名的APP更加稳定。

二、超级签名具有时效性,也有数量限制

虽然说ios超级签名确实比较稳定,但并不是说超级签名就是万能的,因为超级签名具有时效性,如果到期后该签名依然会失效,用户也无法再打开APP。一般来说,签名到期时间都是根据提供签名的账号本身到期时间来决定的,通常情况下是一年。所以说,超级签名的APP基本上每年都要重新下载一次,更换新的签名,并不是永久不会掉签,只是再继续签比较容易罢了。此外,超级签名也对有设备数量限制,一般来说,每个开发者账号可以给100台设备进行签名。

总的来说,ios超级签名与企业签名有本质上的不同,所以它相较于企业签名更稳定,但并不是真的不会掉签。

参考技术A 苹果ios超级签名并非是不会掉签,不掉签的前提是用来做超级签名的个人证书质量,低质量证书或者即将过期的存在风险的证书,还是会掉签的。 参考技术B 这是因为这个超级签名采用的是udid这项技术,然后非常的稳定,同时级别也比较高,而且是真的不会掉。 参考技术C 因为它采用的是udid这项技术,而这项技术是非常厉害,相较于其他企业签名更稳定,但并不是它真的不会掉签。

iOS 应用的签名原理是啥?

iOS签名可分为企业签名、超级签名

业签名就是使用企业开发者账号生成的企业证书进行签名的,其中涉及到公钥密钥的概念,企业开发者账号是不能在App Store发布应用的,它一般用于大型企业内安装苹果APP,不必上架到App Store,就可以直接安装,它的权限是比较大的。

超级签名是使用个人开发者账号,添加苹果设备的udid,实现真机测试,一个个人开发者账号最多只能添加100个udid。

从原理上来看,超级签名一般比企业签名更加稳定,因企业签名中真正起到签名作用的是企业发布证书,而这个证书是可以复制的,当有大量签名商复制了这个证书,给成千上万个APP签名,风险就会很大,这也是企业签名掉签的重要原因。

参考技术A 作者:Edison Z
链接:http://www.zhihu.com/question/22153061/answer/26238013
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

在公钥密码体制里面,密钥被分为了私钥和公钥两个部分,最出名的是RSA所形成的PKCS标准,由于密钥不对称,在原本可以支持加密的基础上,又支持了一种认证的方式,就是签名。
其实签名就是加密的逆过程,加密是用公钥加密,私钥解密,这样就只有私钥拥有者才可以查看明文,其他人都可以给私钥拥有者发信息。一般来说,密钥对是由私钥拥有者产生的,自己保留私钥,公钥公开出来。

如果反过来,用私钥进行加密,那么公钥也可以解密,这个就叫签名。因为私钥只有私钥拥有者一个人知道(不泄露的前提下),但是公钥是可以公开出来的,大家可以验证是不是由正确私钥加密的(这里可以简单的考虑为固定了一个明文签名,这样只有私钥拥有者的签名大家才可以正确解密得到这个明文,其他人是无法伪造的)。至于怎么签名,是对整个程序签名还是片段签名,这个就是基于实际的 考虑。

在实际中应用,由于还要考虑到重放攻击等,一般来说是有一个完整的证书体制,比较出名的就是rsa基础上建立的PKCS。证书本身的构成是比较复杂的,而且需要一个大家公认的第三方来维护证书,当然,在苹果的体制下,自然这个第三方就是苹果公司,他为每一个开发者维护了每个开放者的证书(当然包括身份信息,密钥对等等很多信息),也为自己维护了一个机构证书。

如果按我判断,上传的时候利用开发者的证书对程序签名上传,apple验证签名的有效性,如果有效,apple用机构证书再次对程序签名。

用户下载的时候,会验证是否是apple签名的。至于如何签名,这个很难说,很可能是对每一个程序页都签名了,这样可以保证程序完全无法被修改。
参考技术B

iOS应用的签名方式有两种:企业签名,TF签名。

苹果企业签名直接下载APP的原理

TF签名的机制原理解析

这两种方式都是可以帮助应用在iOS系统直接安装的,如果对其原理感兴趣,可以参考上面的文章,希望对你有帮助。

以上是关于苹果iOS超级签名不会掉签是啥原理?是不是真的不会掉签?的主要内容,如果未能解决你的问题,请参考以下文章

ios掉签恢复教程(内含安卓福利和企业不死签名)

ios签名原理详解

苹果app企业证书签名后出现闪退问题是啥原因?

微导流超级签名系统搭建有什么优势?

风向转变!越来越多的开发者选择TF签名?

Adroid 签名机制V1,V2,V3