iOS 超级签名之描述文件的实现过程
简介
因为最近企业签掉得太严重了,上头要求实现超级签进行游戏下载。故有了此文章,记录一下过程。
签名原理其实很简单,超级签名的技术就是使用个人开发者账号,将用户的设备当作开发设备进行应用分发。这也导致成本非常高,一个开发者账号最多只能注册一百台设备,然而一个账号的价格为99美元。不过目前超级签分发的应用稳定性很高,不用再像企业签那样经常掉签。
新建.mobileconfig描述文件
该描述文件用于获取用户设备的UDID,用户通过某个点击操作下载此文件,安装后服务器会收到该用户设备的UDID回调事件。
PayloadContent URL https://[你的服务器地址].com/resource/uploadUUID.do DeviceAttributes UDID IMEI ICCID VERSION PRODUCT PayloadOrganization xxx.xxx.com PayloadDisplayName 查询设备UDID PayloadVersion 1 PayloadUUID c156f2f8-fc42-4260-8fc5-8644861d8293 PayloadIdentifier xxx.xxx.profile-service PayloadDescription 本文件仅用来获取设备ID PayloadType ProfileService
注册开发者设备及签名包体
由于时间太赶,这里注册开发者设备及签名包体采用的都是三方提供的服务,因此没有细节提供,但是怎样去做还是可以说一下的。
我们可以借助Spaceship工具完成注册新的开发者设备和更新ProvisioningProfile,签名包体可以用Sigh框架,具体实现请自行搜索。
最后用户下载的方式与企业签的一样,使用itms-services协议进行下载。
ssl签名.mobileconfig配置文件
我看了很多文章,都是用开发者证书去签名的,可是我弄了好久,死活从“未签名”变成了“”尚未验证“,当时一度绝望了好长时间。从iPhone配置实用工具2.2到iPhone配置实用工具3.5,皆不成功。
配置文件是可以使用的,虽然说安装时会提示红色字“尚未验证”,看起来不太安全之外,一切安好。可是要有追求啊,别人能做到的东西,那就是肯定能做的。
ssl证书签名配置文件是知道的,可是向后端人员要证书文件的时候一度受到了困扰,所以前期搁置了好久,直到其它的方法都被我试过了,都不行之后,只好继续调研ssl证书签名配置文件。
踩完无数的坑之后,这里介绍一种亲测可用的方法,使用ssl证书进行配置文件的签名。我是看这篇文章实现的为iOS的mobileconfig配置文件进行签名。
很简单,需要三个文件,三行命令,完成。
$opensslsmime-sign-inunsigned.mobileconfig-outsigned.mobileconfig-signermbaike.crt-inkeymbaike.key-certfileca-bundle.pem-outformder-nodetach $opensslrsa-inmbaike.key-outmbaikenopass.key $opensslsmime-sign-inunsigned.mobileconfig-outsigned.mobileconfig-signermbaike.crt-inkeymbaikenopass.key-certfileca-bundle.pem-outformder-nodetach
这里耗时主要是在等运维人员提供相关证书文件,千万别给错了,否则很难Debug。
下载描述文件后不能自动跳转到安装界面
在iOS12.2上苹果做了改动,下载完后需要用户手动进行安装。点击设置——已下载描述文件,会自动弹出描述文件安装界面,点击右上角安装即可。
官方说明点这儿在iPhone或iPad上安装配置描述文件。
利用.mobileprovision跳转到已下载描述文件
这是为了方便用户不需手动找描述文件并安装,可以直接跳过去,省去用户操作。
- 从苹果开发者网站中下载对应的发布描述文件;
- 把发布描述文件部署在服务器;
- web访问服务器的发布描述文件,如:http://***.com/embedded.mobileprovision;
- Done。
当执行第三步后,会自动跳转至描述文件。
参考文献
CreateGUIDsonline
SSLConverter-ConvertSSLCertificatestodifferentformats
mobileconfig文件的签名和认证(signed、verified)
iOS超级签名
通过Safari浏览器获取iOS设备UDID(设备唯一标识符)
总结
以上所述是小编给大家介绍的iOS超级签名实现之描述文件的实现过程,希望对大家有所帮助,也非常感谢大家对毛票票网站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。