苹果的签名过程(xcode编译项目将app装在Iphone手机上)

苹果的签名过程(xcode编译项目将app装在Iphone手机上)_第1张图片

1.在开发中mac电脑会生成一对公钥M(xcode生成的)和私钥M(私钥是通过mac电脑钥匙串通过证书生成的P12),然后xcode将公钥M发送到苹果服务器(通说CSR文件申请证书),苹果服务器收到公钥M后会生成对应hash值,然后将公钥M和hash用苹果服务器的私钥A进行加密得到证书,并将证书和描述文件一并发给你的mac电脑。

2.一开始原始的app只有可执行MachO文件,Xcode会对MachO文件的hash值用私钥M进行加密生成app的签名,然后和证书和描述文件及MachO文件一起打包成API,安装到IPhine手机上。

3.在安装到IPhone手机上的时候,我们需要在手机上设置信任描述文件,描述文件中设备IDs是用来限制苹果注册过的设备才能安装,AppID是签名只能对某一个appID签名,Entitlement是设置app的限权,满足这些条件才能安装到手机上。

4.Iphone手机安装过程中,手机会对app进行验证。首先用手机上的私钥A(IPhone手机生产出来的时候就生成了)对APP的证书进行解密得到公钥M和hash,然后通过hash对公钥M进行验证是否篡改过,如果没有用公钥M对app的签名进行解密,获取MachO的hash值,然后对MacO文件进行验证是否被篡改,如果没有就可以将app安装到手机上。

你可能感兴趣的:(ios,app,https,openssl,ssl)