时间:2021-07-15 | 标签: | 作者:Q8 | 来源:郑明明网络
小提示:您能找到这篇{上架Appstore背后的故事}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的上架Appstore背后的故事内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
< ">前言 < ">众说周知,iOS系统对第三方APP拥有很强力的控制权,有别于安卓系统上可以从任意地方下载,苹果保证了每一个安装在iOS系统中的APP都是经过官方认证的。那么在这表层现象的背后,引发我们的思考,苹果是如何保证认证。 < ">准备知识:非对称加密 < ">一、理论 < ">首先说到非对称加密,大家都熟知一个算法,RSA(又三位数学家名字首字母构成),这个算法中包含很多数学公式和理论证明,这里就不做深究。我们来简单地理解下非对称加密的思想。 < ">先来看看对称加密的过程,对称加密的双方都保持相同的加密密钥和解密密钥,数据经过加密密钥加密之后再网络中传输,对称加密最大的问题就是解密秘钥的如何安全传输。 < ">再来看看非对称加密,非对称加密有两个密钥,公钥和私钥,公钥公开,私钥私有。 < ">二、非对称加密的例子 < ">加密: < ">A想要传输信息给B,那么B首先生成公钥和私钥,公钥发送给A,私钥保留,A收到B的公钥之后,将信息利用公钥加密,然后传输给B,B通过私钥解密。 < ">防止篡改: < ">B想要给A发送一个证明,那么B首先生成公钥和私钥,利用私钥加密证明生成加密文件,然后将证明和加密文件以及公钥一同发送给A,A收到之后,利用公钥将加密文件解密,然后对比证明,如果相同,则可以认为证明没有被篡改过。 < ">苹果的数字签名 < ">苹果生成了一对密钥,公钥安装在每台iOS设备上,私钥保存在苹果后台服务器中,当APP上架到Appstore的时候,苹果后台用私钥对App进行签名(加密),当用户使用iOS设备下载App时,利用设备中的公钥验证签名,如果签名正确,那么可以认为该App是被官方认证的,同时也没有被修改过。 < ">上面的逻辑很通俗易懂,当然,这只是最简单的逻辑。考虑到很多实际情况,苹果制定了更为复杂的签名机制。 < ">实际情况 < ">开发者可以直接把开发中的应用安装进手机进行调试 < ">更复杂的签名机制 < ">一、签名 < ">首先在Mac机器中生成一对公钥和私钥,这里标记为公钥M,私钥M(M:Mac) < ">同样苹果仍然持有一对密钥,公钥放在iOS设备上,私钥放在后台服务器,这里标记为公钥A,私钥A(A:Apple山西杏花村汾酒危机公关) < ">签名: < ">1.将公钥M上传到后台服务器,通过私钥A进行签名,然后返回签名和公钥M,将其称为证书 < ">2.用私钥M对App签名 < ">将以上两者内容打包,安装在手机上 < ">二、验证 < ">首先利用设备中的公钥A对证书中的签名进行验证,确保公钥M是是认证过的 < ">然后利用公钥钥M对App签名进行验证,确保App是认证过的 < ">更完善的策略设计 < ">以上是签名的大致过程,但是苹果还加了两个限制: < ">1.只有在揭阳小程序后台注册过的设备才能安装 < ">2.签名机制应该针对具体的某一App < ">完善的签名机制 < ">做一些小调整 < ">在签名过程中,原来只讲私钥M上传后台服务器,现在需要将设备的IDs和AppID以及Entitlements(权限开关)也传入到后台服务器 < ">先利用私钥A签名得到证书,然后将证书和添加的信息打包后再用私钥签名(由一次签名变成两次签名,验证也从一次变成两次) < ">在验证过程中,添加了两项验证: < ">1.用设备IDs验证iOS设备是否属于注册的设备范围 < ">2.用AppID验证App的ID是否对应 < ">概念与实际操作对应 < ">一、签名 < ">在keychain中选择“从证书颁发机构请求证书”,可以在本地生成一对公钥私钥,私钥保存在电脑中,公钥为生成的CertificateSigningRequest < ">iOS系统中保存一个公钥,苹果后台保存一个私钥 < ">签名: < ">1.将CertificateSigningRequest上传到服务器进行证书的申请,然后在网页上设置设备的IDs、AppID和Entitlements,配置完成后即可下载Provisioning Profile文件(该文件中包含证书、设备IDs、AppID、Entitlements) < ">2.Xcode通过Provisioning Profile中的本地公钥可以找到对应的私钥(如果其他机器想要编译这个APP,则需要将私钥导出,为.p12文件),并签名该App,接着把Provisioning Profile文件命名为embedded.mobileprovision一同打包 < ">二、验证 < ">1.先用公钥验证证书和附加信息的包的签名,然后再验证证书的签名 < ">2.利用公钥验证App签名 < ">3.利用附加信息验证 |
上一篇:【出海干货】中国游戏出海未来机会点:聚集用
下一篇:玩转AppStore获量
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“上架Appstore背后的故事”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通上架Appstore背后的故事的相关事宜。
关键词:上架Appstore背后的故事,A