ios苹果签名机制

发表时间:2022-09-16 15:45

为了确保系统的安全,所有iPhone上安装的APP应用程序都必须得到苹果的许可。要在iPhone上安装App,必须从App Store下载。苹果公司对APP有严格的审查程序,通过签名机制,确保安装在iOS设备上的所有APP都得到苹果官方的许可。


ios苹果签名是苹果为开发者提出的机制,开发者使用企业开发者账号在APP上进行签名后,APP可以免除上架AppStore并安装在ios设备上。


iOS出现之前,以前的主流操作系统( MAC/windows )软件可以从任何地方下载运行。系统存在安全隐患,包括盗版软件、病毒入侵、静默安装等。


ios苹果签名机制


苹果要解决这种问题,必须保证安装在iOS上的所有APP都得到苹果官方的许可,但如何保证呢?通过ios苹果签名。

ios苹果签名机制

要实现验证,最简单的方法是通过苹果公式生成一对非对称加密的公钥。iOS系统内置有公钥,私钥在苹果后台保存。当我们将App传递给AppStore时,在苹果后台使用私有密钥将App数据签名,在iOS设备下载了此App之后,用公钥验证此签名,如果签名是正确的话

如果我们iOS设备安装App只是从AppStore这个入口,那么事情很简单,数字签名就可以了。

但实际上iOS安装APP还有其他途径。例如,对于开发者来说,真机调试是必要的。此外,苹果还开放了企业内分发渠道,企业证书签名的APP也需要顺利安装。

苹果需要开放这些方式来安装APP,那么就不能实现简单的代码签名。


ios苹果签名机制


ios苹果签名机制,双重签名进程:

1、在Mac中生成密钥对(公钥Mac和私钥Mac )。在“密钥串”中的“从认证机构请求证书”中制作。私钥以本机形式存在,并且公钥包含在CertificateSigningRequest文件中。

2、将CSR文件上传至苹果服务器,苹果服务器用私钥Apple加密CSR的哈希值和生成证书(证书中包括公钥Mac和私钥Apple加密的哈希值)

3、在开发编译阶段,每次编译结束时,Mac都会用私钥Mac(p12文件)App进行签名,并将上一步获得的证书打包到App中。此时,App包含上一步骤中生成的证书。证书包含用公钥MAC及其私钥Apple加密的哈希值。


ios苹果签名机制

4、在iPhone设备上安装App时,首先用设备中内置的公钥Apple对前面的哈希值进行解密来获取证书,然后获取公钥Mac。如果解密成功,则该证书指示该证书是苹果服务器发出的,随后可获得公钥Mac以解密App分组的签名。在这种情况下,由于该App用秘密密钥Mac进行签名。


企业账号和苹果签名服务
首页                              关于公司        
回收企业账号                 新闻中心          

扫一扫加微信