ios超签

一、签名说明:

  1. ipa 能安装的前提是ipa已经经过了苹果认可的签名进行签名。

  2. 苹果商店下载的包所有人都能安装,切只能从苹果商店下载安装

  3. 企业签名的包,安装后需要信任企业证书才能安装,限制安装设备10万台

  4. 个人签名即由开发者打包的包,只能安装在添加了测试设备的设备上,一个账号打的包限制安装100台设备

     

     

二、超级签原理:

    超级签主要利用个人签名来进行操作。即通过获取到用户的udid设备码,

    利用苹果提供的api将获取到的udid添加到苹果后台去,然后利用苹果api生成证书和bundleid和描述文件,

    用生成的证书和描述文件对ipa进行签名后,生成ipa下载链接,玩家即可通过此链接安装。

 

三、超级签优点:

  1. 稳定,掉签率低

  2. 有效期由开发者账号到期时间,和实际创建证书和描述文件的时间决定,一般认为是1年有效期

  3. 一个用户设备udid获取到后,存入浏览器cookie,下次再从平台安装其他应用即可直接进行签名安装,不必重新要用户输入密码获取udid

 

四、超级签缺点:

  1. 一个账号只能添加100台设备,要想多设备安装,就需要很多苹果开发者账号

  2. 用户初次安装时需要获取udid,获取过程通过网页方式获取,需要信任描述文件,输入密码,过程相对麻烦,部分初级玩家不会操作

  3. 一个账号被封时,用这个账号打包的包都会掉签,用户会打不开已掉签的应用

  4. 安装时间相对比企业签稍长,中间多了向苹果请求签名,打包等操作

  5. 超级签相当于给每个用户生成一个可安装的新包,会一个应用,多个包,占用大量磁盘和带宽

 

五、具体打包流程:

  1. 从苹果开发者网站获取请求密钥:

    登录苹果开发者网站,按图操作获取到必要的信息

ios超签_第1张图片

 

ios超签_第2张图片

 

ios超签_第3张图片

 

ios超签_第4张图片

 

 

2、获得这三个参数后,生成 jwt 请求token,具体如何生成可百度,各个语言都可以生成。

3、通过苹果api 请求苹果账号信息

4、通过苹果api 生成一个证书保存证书id等信息到数据库

5、通过苹果api 可以生成一个通配符的bundleid,保存bundleid信息到数据库

6、在获取玩家udid时,通过苹果api将设备udid信息添加到苹果后台

7、根据4、5、6步骤获取到信息,请求苹果api生成描述文件

8、通过4、7步骤获得的证书文件和描述文件,调用签名脚本对ipa签名

9、将签名好的ipa放到下载目录,为玩家生成下载链接

10、此过程中,需要客户端js和服务器保持通信,当签名状态改变时,提示用户或作出对应的响应

 

 

六、签名脚本安装:

具体见github

 

zsign -k /work/test_sign/ios_development.p12 -p 147258 -m /work/test_sign/profile.mobileconfig -o output.ipa -z 9 /work/test_sign/src.ipa

 

七、生成签名需要用的文件或者其他操作

需要生成csr文件,linux或mac下调用如下命令:

 

openssl genrsa -out ios.key 2048

openssl req -new -sha256 -key ios.key -out ios.csr -subj "/C=CN/ST=GD/L=SZ/O=vihoo/OU=dev/CN=vivo.com/[email protected]"


将生成的ios.csr文件中的证书头和尾部去掉然后换行去掉,即为请求苹果的csr内容

请求苹果后,苹果会返回certificateContent的证书内容,

将内容用证书头包裹—–BEGIN CERTIFICATE—–   内容   —–END CERTIFICATE—– 保存到文件ios.pem文件

 

调用如下命令生成p12文件

openssl pkcs12 -export -inkey ios.key -in ios.pem -password pass:147258 -out ios.p12

其中147258是签名密码,与最后签名ipa脚本中的密码保持一致即可。

你可能感兴趣的:(oc)