软件签名不一样怎么安装,软件更新但是安装不上签名不一致

首页 > 经验 > 作者:YD1662022-11-07 06:37:23

智能手机上市以来,大量的APP如同雨后春笋般出现,随着APP类型的不断增加,我们不难发现,ios系统,APP上架越发困难,难道iPhone用户只能去越狱才能下载APP吗?当然不是,因为有APP签名机制。

在日常工作中,无论是开发阶段还是测试阶段,经常会出现很多需要通过签名机制解决的问题。了解iOS签名机制的原理有助于提高解决相关问题的成本和效率。以下是与APP签名相关的名词说明。

软件签名不一样怎么安装,软件更新但是安装不上签名不一致(1)

证书:内容为公钥或私钥,是其他机构为签名配置的数据包。

entitlements :包含app权限开关的列表。

CertificateSigningRequest :本地公钥。

p12:本地私钥,可以导入其他电脑。

配置文件:包含证书/实体等数据且苹果在后台使用私钥签名的数据包。

软件签名不一样怎么安装,软件更新但是安装不上签名不一致(2)

ios APP签名的目的有三个:

1.在个人私钥签名APP应用程序中,识别某个APP应用程序是由开发者开发的,以防止修复。

2.根据苹果的私钥签名,证明该APP程序的开发者是经过验证的,为苹果APP的合法开发者。

3.防止证书权限滥用:其他权限控制,如设备限制、APP指定、iCloud/PUSH/后台运行。

软件签名不一样怎么安装,软件更新但是安装不上签名不一致(3)

双签名机制:

1.Mac系统生成非对称加密算法的公钥m。

2.正如上面最简单的代码签名所述,苹果自身拥有固定的公钥对,私钥a位于苹果的后台,公钥a位于每个iOS系统的手机上。

3.将公钥m和一些开发者信息(即CSR文件)发送到苹果后台,用苹果后台的私钥a向公钥M签名发送包括公钥m及其签名的结果的数据是证书(.p12 )。

4.在开发时,我们打包时用本地私钥m (即可以导出到伙伴的开发者证书)对该APP进行签名,同时将证书一起打包为APP,安装在手机(实机协作)上,在安装时,iOS系统获取内置公钥a以验证公钥m的数字签名证书是否正确。

5.在验证公钥m已由APPle验证后,使用公钥m验证APP的签名。这将间接验证APPle是否允许安装此APP (请注意,此处只验证安装行为,不验证APP是否已更改)。因为在开发阶段app的内容总是在变化)。

iOS采用沙盒机制运行App,为了增强程序的安全性,在运行时检查代码的签名以防止代码被篡改。二维码签名描述文件是苹果解决方案,以上是IOs APP签名的原理。



栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.