您好,欢迎来到 ios企业签名! 【快速注册】 【登录

您可以 “CTRL+D”一键收藏本站网址 ,下次访问更快速!

ios企业签名

iOS APP签名原理机制详解

更新时间:2020/2/3 / 阅读次数:84

苹果的需求

1。为了确保系统的安全,所有安装在iPhone上的应用程序都必须经过苹果的授权

2。无需上传到app store即可安装安装包(开发和调试企业灰度)

3。防止证书权限滥用:设备限制、指定应用、icloud/push/background操作和其他附加权限控制

苹果解决方案:双层代码签名+描述文件:

在IOS问世之前,主流的操作系统(MAC OS/windows)软件可以在任何下载的地方运行。在系统安全方面存在一些隐患,如盗版软件、病毒入侵、静默安装等,

苹果希望解决类似问题,并确保iPhone IOS上的应用程序得到苹果的正式批准。如何保证?这是代码签名。

如果我们想实现验证,最简单的方法是苹果正式生成一对RSA公钥和私钥。在IOS系统中,内置了一个公钥。私钥由苹果后台保存。当我们将应用程序上传到app store

时,apple background会使用私钥加密应用程序数据。在iPhone下载应用程序后,我们用公钥验证签名,以确认应用程序是否被三方允许或盗用。但是,我们并

不是只使用app store来安装应用程序,比如实机调试、企业包等,所以这种简单的数字签名方法是不够的。

因此,苹果设计了双层签名机制。我们都知道IOS的应用开发必须在MAC系统下进行。由于这种依赖性,双层签名有一个基础:

1。在MAC系统中生成一对非对称加密算法的公钥和私钥m(Xcode将帮助您)超级签名

2。苹果有一对固定的公钥和私钥,如上面最简单的代码签名所述:私钥a在苹果的后台,而公钥a在每个IOS系统的手机中

3。将公钥m和一些开发人员信息(即CSR文件)发送到apple后台,用apple后台的私钥a在公钥m上签名,得到证书(.P12)包含公钥m及其签名结果。

4。在开发过程中,我们将在打包应用程序时使用本地私钥m(即可以导出到小型合作伙伴的开发人员证书)对其进行签名。同时,我们会将第三步获得的证书打包

到应用程序中,然后安装在手机上(真机联调)或提交给应用商店审批

5。安装时,IOS系统获取内置公钥a,验证公钥m的数字签名证书是否正确

6。在验证了公钥m经过苹果认证后,使用公钥m验证应用的签名,间接验证了苹果是否允许应用安装(注意这里只验证安装行为,不验证应用是否更改,因为应用

程序的内容在开发阶段总是会发生变化)

通过上述过程,可以保证开发人员的身份验证和程序安全。但如果只有上述过程,难道不能申请一个证书并将其安装在所有的IOS设备上吗?因此,苹果增加了

配置文件的验证,通常包括三件事:证书、应用程序ID和设备。

描述文件是在appledevelop网站上创建的(在Xcode中填写appleid,它将代表您创建)苹果签名。Xcode运行时将打包到应用程序中。在开发过程中,编译

应用程序后,使用本地私钥m对应用程序进行签名,并将从Apple服务器获得的配置文件文件打包到应用程序中。文件名为embedded.mobileprovision。当应用

程序安装在手机上时,IOS系统将对其进行验证。

ios企业签名 http://www.yc23c.com

上一篇:什么是稳定的苹果签名?

下一篇:APP打包封装的发展具有广泛的意义

最新文章

最热文章

收缩
  • 电话咨询

  • 稳定不掉签名