iOS 应用的签名原理是什么?
文章目录:
一、iOS 应用的签名原理是什么?
iOS签名可分为企业签名、超级签名。
企业签名就是使用企业开发者账号生成的企业证书进行签名的,其中涉及到公钥密钥的概念,企业开发者账号是不能在App Store发布应用的,它一般用于大型企业内安装苹果APP,不必上架到App Store,就可以直接安装,它的权限是比较大的。
超级签名是使用个人开发者账号,添加苹果设备的udid,实现真机测试,一个个人开发者账号最多只能添加100个udid。
从原理上来看,超级签名一般比企业签名更加稳定,因企业签名中真正起到签名作用的是企业发布证书,而这个证书是可以复制的,当有大量签名商复制了这个证书,给成千上万个APP签名,风险就会很大,这也是企业签名掉签的重要原因。
iOS应用的签名方式有两种:企业签名,TF签名。
这两种方式都是可以帮助应用在iOS系统直接安装的,如果对其原理感兴趣,可以参考上面的文章,希望对你有帮助。
作者:Edison Z
链接:
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
在公钥密码体制里面,密钥被分为了私钥和公钥两个部分,最出名的是RSA所形成的PKCS标准,由于密钥不对称,在原本可以支持加密的基础上,又支持了一种认证的方式,就是签名。
其实签名就是加密的逆过程,加密是用公钥加密,私钥解密,这样就只有私钥拥有者才可以查看明文,其他人都可以给私钥拥有者发信息。一般来说,密钥对是由私钥拥有者产生的,自己保留私钥,公钥公开出来。
如果反过来,用私钥进行加密,那么公钥也可以解密,这个就叫签名。因为私钥只有私钥拥有者一个人知道(不泄露的前提下),但是公钥是可以公开出来的,大家可以验证是不是由正确私钥加密的(这里可以简单的考虑为固定了一个明文签名,这样只有私钥拥有者的签名大家才可以正确解密得到这个明文,其他人是无法伪造的)。至于怎么签名,是对整个程序签名还是片段签名,这个就是基于实际的 考虑。
在实际中应用,由于还要考虑到重放攻击等,一般来说是有一个完整的证书体制,比较出名的就是rsa基础上建立的PKCS。证书本身的构成是比较复杂的,而且需要一个大家公认的第三方来维护证书,当然,在苹果的体制下,自然这个第三方就是苹果公司,他为每一个开发者维护了每个开放者的证书(当然包括身份信息,密钥对等等很多信息),也为自己维护了一个机构证书。
如果按我判断,上传的时候利用开发者的证书对程序签名上传,apple验证签名的有效性,如果有效,apple用机构证书再次对程序签名。
用户下载的时候,会验证是否是apple签名的。至于如何签名,这个很难说,很可能是对每一个程序页都签名了,这样可以保证程序完全无法被修改。
二、IOS APP 如何签名? 高分求教!
可以看一下这个
借助开发者服务平台就可以进行在线签名了,图文步骤都非常详细。
iOS签名可以不越狱,不上架App Store。
只需要提供IPA包即可,通过手机在线也能完成。
企业账号证书签名区别于个人账号和公司账号,企业签名后的app可以直接用来内部下载安装测试使用,不用审核,但是不上架appstore,可以是直接用链接或二维码进行下载。
到此,以上就是小编对于ios开发者 签名的问题就介绍到这了,希望介绍关于ios开发者 签名的2点解答对大家有用。
Amysql_youhua_articlehuaunyuan($article);