iOS逆向 -- 应用签名原理以及重签名

前两篇介绍了 RSA、HASH、和对称加密,今天结合iPhone感受一下苹果的双重认证签名

1.针对普通用户

因为市场上软件参差不齐,苹果为了保证用户手机安全,所以要求必须是通过App Store上下载的App才能进行安装(也就是经过了苹果审核的ipa包才能在手机上安装)

那么如何做到的呢

1.第一层认证 (公钥A 私钥A - 因为后面还有一层 所以给公钥私钥起了个名字)

iPhone手机上存有 公钥A

苹果服务器存有私钥A

这样就保证了苹果手机只能识别苹果服务器传过来的ipa包 - 这一步就叫做代码签名

代码签名的方式跟上节课讲的数字签名是一样的

流程大致就是苹果服务器使用私钥A对App数据的hash值进行签名,手机接收到数据后用公钥A验证这个hash值跟App数据

2.针对开发者用户 企业证书

如果只用一层认证的话 确实保证了用户使用App 只能从App Store上下载的问题

但是伴随而来的问题就是开发者如何使用真机调试了?

接下来就是第二层认证了

Mac电脑上 也有一对儿RSA 我们称之为 公钥M 私钥M

首先我们回顾一下 我们开发者制作证书的过程 来一并解释一下

首先申请证书前 我们需要申请一个csr文件 通过钥匙串访问-证书助理-从证书颁发机构请求证书

这一步其实就是就是把mac电脑里的公钥M传给苹果服务器 然后苹果服务器用私钥A 对公钥M进行签名并返回给mac电脑

然后就生成了.cer文件。

第二步我们通过选择appid 和 cer文件 以及已经在developer网站注册过的设备 生成一个描述文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值