> ios超级签名 >

超级签名是怎么实现的?

2020-04-21 阅读:
知乎用户回答
终生会员0人赞同了该回答

由于近段时间政策变动,企业证书不断被封停。

市场上开发出一种新的签名方式,超级签名。

系统环境 centeros 7.2, 无需mac服务器


签名原理

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

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

优势:

直接分发,安装即可运行,不需要用户做企业证书的信任操作 目前稳定,不会有证书吊销导致的业务风险(后续苹果政策风险非常高)

缺点:

单开发者账号的iPhone设备数量只有100个,导致分发成本非常高(99美元/1年/100个设备) 开发者账号需要预先写入安装设备的UDID,在工具链不通的情况下,获取用户的UDID相对困难和繁琐,而且手动写入UDID不存在商用可行性,当然目前这个缺点被解决了

整体架构

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

1.设备安装描述文件后,会向服务器发送设备的UDID。2.服务器收到UDID后,将UDID注册到某个开发者账号下。3.再生成签名用的描述文件,给IPA签名。4.然后iPA传Server,使用itms-services方式让用户下载。

技术细节

1,获得用户UDID

苹果允许用户通过浏览器安装配置文件,来上传UDID到服务器。

服务器需返回301重定向到特定网站

.mobileConfig 文件实例:

获得udid

服务端接受UDID需要返回301,示例代码:

2,解析苹果给出的XML文件,并取得对应数据

解析XML并返回

在这个时候,服务器就已经有了用户的udid了。

3,添加apple账号。

因为苹果存在二次验证,这里通过后台弹窗输入验证码。

4,开发者中心更新UDID。

这里用到的框架是fastlane。框架使用起来简单易用。

调用实例代码:

更新UDID

更新完成UDID后,从苹果商店下载相关证书,并准备重签名。

5,重签名

看了很多文章,很多都只能运行在mac电脑上。 mac服务器成本昂贵。要支持高并发成本非常高。

在这里,我们使用isign来实现在linux服务器上也能重签名。

可能有人会说他们使用isign在ios13上无法安装,这里需要自己修复一下源码的bug

实例代码:

重签名

到此时,我们的重签名流程就已经完成了。

然后将ipa包上传到OSS服务上,并配置itms-service服务来做分发。

itms-service服务代码实例:


tip:

另外,如果要通过isign实现企业的签名的话,因为isign的入参是pem文件,在这里,需要将企业证书的P12文件转换为pem文件。实例代码如下:

p12转pem


其他一些附加功能:

应用停用与启用控制:

这里需要用到ios的注入,dylib包,举例:控制包的有效期:


我们会在包内写入我们用于标识的特殊文件,并在app启动的时候向服务器请求并检查应用的有效期。
通过这个思路能实现 app的推送,应用启动统计,有效期控制,渠道包统计等等一些功能。


我们的系统已经完成了商业化,目前运行可靠稳定。 大家可以加我qq 397294213 互相学习。

后台

落地页

编辑于 2020-03-19 01:45:09
苹果企业签名张ios相关2人赞同了该回答

超级签名

“超级签”其实就是利用了苹果提供的Ad-Hoc分发通道,把这一百台安装设备当做开发设备来进行分发。获取用户设备的UDID→UDID添加到开发者后台→出含有所有已添加过的UDID的证书→用该证书出包给用户安装即可。

一个开发者账号(99美元年费)只能进行一百台设备的安装,所以其成本相对于企业账号每年299美元的费用却可以无限分发来说,是高很多的。成本约在-元/a,市场价格在12-15元。(每家定价不同不做具体描述)

超级签名说白了就是个人证书打包签名出来的 App

超签的优点应该是少了在设置里面信任企业证书的步骤

超级签名的缺点,那就是贵,并且被批量刷量的话,那可能钱就刷刷的直线上升,一千台的话价格自己想想,很多人不能接受。并且也可能存在封号风险。

ios企业签名:

这个可以平台进行操作,比如微导流平台,它也提供个人账号和个人证书的出售,可以用来做超签。

是指使用299美金的苹果企业账号打包In House版的IPA文件,也就是替换App的P12证书。签名之后可以免提交 App Store 审核,同时可开放给所有用户提供任意下载,可在任意iPhone、iPad上安装,不限次,并且不需要进行越狱。

选择平台企业签名的优点是不限下载次数,更新次数,信任一次后即可使用。

编辑于 2019/12/10 15:21:34
小普度开发内测乌拉拉1人赞同了该回答

超级签名其实是使用个人开发者账号,注册苹果设备的udid,然后生成用来签名的描述文件,进行签名实现真机测试,大概原理就是这样,我也不是签名商,可能说的不是很专业。

不过现在很多平台都能做超级签名,我就是在亥著做的,直接上传应用,买下载设备量就行了。

反正我感觉它比企业签名要稳定很多。

编辑于 2020/4/16 16:56:49

网站友情链接: 微信号购买平台 微信号出售 买微信号 刷票 微信刷票 微信投票 快手刷粉丝 微信号出售 微信号批发 微信号购买 王者荣耀代练 苹果超级签名 ios超级签名 超级签名 刷票 王者荣耀代练 ios企业签名