3个主要步骤简单介绍一下iOS的签名验证过程

2020-06-21 11:39:05 6

3个主要步骤简单介绍一下iOS的签名验证过程

随着科学技术的发展,我们手里基本上有一部智能手机。苹果企业签名iOS与苹果的Mac OS X操作系统一样,属于类Unix的商业操作系统。原本这个系统名为iPhone OS,因为iPad,iPhone,iPod touch都使用iPhone OS,所以2010WWDC大会上宣布改名为iOS(iOS为美国Cisco公司网络设备操作系统注册商标,苹果改名已获得Cisco公司授权)。ios签名iOS所拥有的应用程序是所有移动操作系统里面最多的。iOS 平台拥有数量庞大的移动 app,几乎每类 app 都有数千款。而且每款 app 都天生出色。这是因为 Apple 为第三方开发者提供了丰富的工具和 API,从而让他们设计的 app 能充分利用每部 iOS 设备蕴含的先进技术。所有 app 都集中在一处,只要使用你的 Apple ID,即可轻松访问、搜索和购买这些 app。说到苹果手机,我们彼此并不陌生,但你对IOS签名验证过程了解多少?接下来,跟随苹果签名编辑器了解它:

一. 证书申请

用我们自己的计算机生成证书签名请求。 文件,在生成一对公钥和私钥的过程中,私钥已经在我们的机器上,这个文件包含我们的公钥,如下所示:

申请者的信息是用申请者的私钥加密的。

申请者的公钥,与该信息对应的私钥是由应用程序使用的公钥。

抽象算法与公钥加密算法

上传证书签名请求。 向会员中心发出请求会员中心会员中心使用苹果自己的私钥对基于公共密钥的证书和我们的用户信息进行数字签名,这可以通过 Xcode 安装过程中安装的根证书验证。 具体的证书包括以下内容:

用户的 公钥

用户信息

证书机构名称

证书有效期

苹果数字签名:通过根证书验证上述信息下载生成的证书。双击要出现在密钥字符串中的安装,密钥字符串将根据证书中的公钥与机器上的私钥相对应。

二. 打包签名

生成mobileprovision下载并安装到会员中心,mobileprovision包含以下信息:

应用程序ID:在membercenter中创建的每个应用程序的ID。

包括哪些证书: 不同的证书对应不同的功能。

功能授权列表

可安装的设备列表:IOS设备的UDID列表,释放证书应为通配符。

苹果公司的数字签名:苹果验证了上述信息。

Xcode指定要使用的证书,实际上,它指定要在签名过程中使用的私钥,该私钥对应于证书中的公钥。然后指定相应的mobileprovision。因为mobileprovision文件包含证书,实际上,本地证书是Xcode,用于指定相应的私钥。

最后,IPA 包将以私钥的形式输出,私钥对需要签名的数据进行数字签名(编译过程在签名之后进行,编译过程在此省略,编译的二进制文件也进行了签名) IPA 的文件结构

如下:

资源文件:例如图片、html等。

_CodeSignature / CodeResources:plist文件,包里的内容是所有数据的数字签名。

可执行文件:编译的二进制文件。

Mobileproption: 我们先前用 Xcode 指定的,个文件,其中包含证书。

工程:程序引用的非系统自包含工程。