蒲公英超级签名原理理

蒲公英超级签名原理理(⼿手动做超级签名) 由于苹果的⽇日益欺压,苹果的企业证书掉签是越来越密集,所以由此诞⽣生了了⿊黑科技,即所谓的超级 签名

超级签名安装流程演示



蒲公英超级签名原理理_第1张图片

据说某分发平台价格表,来源⽹网络,本⼈人对图⽚片真实性不不负责

签名原理理

签名原理理简单点说使⽤用了了苹果提供给开发者的Ad-Hoc分发通道,把安装设备当做开发设备进⾏行行分 发。

既然签名⽤用是 Ad-Hoc ,那么 Ad-Hoc 所具有的优劣势也⼀一并继承了了下来:

优势:

1 直接分发,安装即可运⾏行行,不不需要⽤用户做企业证书的信任操作 

2 ⽬目前稳定,不不会有证书吊销导致的业务⻛风险(后续苹果政策⻛风险⾮非常⾼高)

 缺点:

单开发者账号的iPhone设备数量量只有100个,导致分发成本⾮非常⾼高(99美元/1年年/100个设备)

 开发者账号需要预先写⼊入安装设备的UDID,在⼯工具链不不通的情况下,获取⽤用户的UDID相对困难和 繁琐,⽽而且⼿手动写⼊入UDID不不存在商⽤用可⾏行行性,当然⽬目前这个缺点被解决了了

整体架构

接下来我们就看看整套机制是如何进⾏行行的:


蒲公英超级签名原理理_第2张图片

1.设备安装描述⽂文件后,会向服务器器发送设备的UDID。 

2.服务器器收到UDID后,将UDID注册到某个开发者账号下。

 3.再⽣生成签名⽤用的描述⽂文件,给IPA签名。 

4.然后iPA传Server,使⽤用itms-services⽅方式让⽤用户下载。

技术细节

 使⽤用配置⽂文件获取UDID

苹果公司允许开发者通过IOS设备和Web服务器器之间的某个操作,来获得IOS设备的UDID(包括其他 的⼀一些参数)。这⾥里里的⼀一个概述:

1.在你的Web服务器器上创建⼀一个.mobileconfig的XML格式的描述⽂文件; 

2.⽤用户在所有操作之前必须通过某个点击操作完成.mobileconfig描述⽂文件的安装; 

3.服务器器需要的数据,⽐比如:UDID,需要在.mobileconfig描述⽂文件中配置好,以及服务器器接收数据 的URL地址; 4.当⽤用户设备安装描述⽂文件后,设备会回调你设置的URL,如果你的URL返回302跳转的话,Safari 浏览器器会跳转到你所给的地址;

5.mobileconifg写法  

   

        PayloadContent

       

            URL

            http://dev.skyfox.org/udid/receive.php

            DeviceAttributes

           

                UDID

                IMEI

                ICCID

                VERSION

                PRODUCT

           

       

        PayloadOrganization

        dev.skyfox.org 

        PayloadDisplayName

        查询设备UDID 

        PayloadVersion

        1

        PayloadUUID

        3C4DC7D2-E475-3375-489C-0BB8D737A653 

        PayloadIdentifier

        dev.skyfox.profile-service

        PayloadDescription

        本文件仅用来获取设备ID 

        PayloadType

        Profile Service

   

获取设备UDID的第三⽅方库

https://github.com/shaojiankui/iOS-UDID-Safari

 接下来就是获取到UDID,注册新的开发者设备+更更新Provisioning Profile的 Apple Developer Center ⾃自动化⼯工具: https://github.com/fastlane/fastlane/tree/master/spaceship

 ⾃自动签名封包⼯工具:

https://github.com/fastlane/fastlane/tree/master/sigh

OTA 

分发应⽤用⼯工具:

https://github.com/atelierdumobile/appdeploy

问题分析:


蒲公英超级签名原理理_第3张图片

完整流程图


蒲公英超级签名原理理_第4张图片

已经全部完善,整套系统做出,智能重签,分发管理,有想购买系统的可以联系我,便宜出售

不不过我不不喜欢这种⼯工具,我使⽤用的是ruby脚本,⽬目前我这边已经到了了获取到UDID,然后创建证书和 udid注册,⼿手动获取到描述证书和distribution.cer,⼿手动重签是可以装上的,

参考资料料

Over-the-Air Profile Delivery Concepts(获取设备UDID官⽅方⽂文档):

https://developer.apple.com/ library/archive/documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/ OTASecurity/OTASecurity.html

APPLE 开发商计划许可协议:

https://download.developer.apple.com/Documentation/ Apple_Developer_Program_License_Agreement/ Apple_Developer_Program_License_Agreement_20181019_Chinese_Simplified.pdf

已全部实现

第⼀一步 ⽤用户点击信任,获取⽤用户⼿手机的

UDID,回传给服务器器

第⼆二步 服务器器获取到

UDID之后,⽤用脚本加⼊入到苹果开发者账号,并且更更新下profile⽂文件ad hoc的,

然后下载⼀一个embedded.mobileprovision名字的描述⽂文件

第三步 把

embedded.mobileprovision 和 你的ipa包⽤用终端重新签名,命令fastlane sigh resign 拖⼊入ipa包,选择你证书的16进制号,拖⼊入 embedded.mobileprovision ,⽣生成⼀一个新的ipa⽂文件, 第四步 把ipa上传到⾃自⼰己搭建的服务器器,这个⼿手机⽤用就可以⽤用了了

你可能感兴趣的:(蒲公英超级签名原理理)