iOS APP签名机制原理详解 iOS APP签名机制是苹果公司为了确保iOS系统的安全性和应用程序的合法性而设计的一种机制。该机制主要通过双层代码签名和描述文件来实现应用程序的验证和认证。 双层代码签名 在iOS系统中,苹果公司使用了双层代码签名机制来验证应用程序的合法性。该机制主要包括两个部分: 1. 非对称加密算法的公私钥对:在Mac系统中生成的一对非对称加密算法的公私钥M,这对密钥对是开发者自己的密钥对。 2. 苹果公司的公私钥对:苹果公司自己有一对公私钥对,私钥A在苹果后台,公钥A在每个iOS系统的手机中。 开发者需要将公钥M和一些开发者信息(CSR文件)发送给苹果后台,让苹果后台用私钥A对公钥M签名,得到一份包含公钥M和其签名结果的数据,这就是证书(.p12)。 描述文件(Provisioning Profile) 描述文件是苹果公司为了进一步验证应用程序的合法性而设计的一种机制。该机制主要包括三个部分: 1. 证书:开发者的证书,包含公钥M和其签名结果。 2. APP ID:应用程序的唯一标识符。 3. 设备:应用程序可以安装到的设备类型。 描述文件是在Apple Develop网站创建的,在Xcode中填上Apple ID,它会代办创建。在开发时,编译完一个APP后,用本地的私钥M对这个APP进行签名,同时把从苹果服务器得到的Provisioning Profile文件打包进APP里,文件名为embedded.mobileprovision。 签名机制的工作流程 1. 开发者生成公私钥对M,并将公钥M和CSR文件发送给苹果后台。 2. 苹果后台用私钥A对公钥M签名,得到证书(.p12)。 3. 开发者在Xcode中创建Provisioning Profile文件。 4. 编译完一个APP后,用本地的私钥M对这个APP进行签名,同时把Provisioning Profile文件打包进APP里。 5. 安装时,iOS系统取得内置公钥A去验证公钥M的数字签名证书是否正确。 6. 验证公钥M是苹果认证过的后,再用公钥M去验证APP的签名,这样就间接验证了这个APP的安装是经过苹果允许的了。 iOS APP签名机制是苹果公司为了确保iOS系统的安全性和应用程序的合法性而设计的一种机制。它通过双层代码签名和描述文件来实现应用程序的验证和认证。
- 粉丝: 5
- 资源: 944
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助