美文网首页
理解IOS证书之间的关系

理解IOS证书之间的关系

作者: 灰斗儿 | 来源:发表于2016-09-08 12:46 被阅读63次

    1. 说一些基本的东西

    每一台iPhone 都有一个唯一的uuid。

    每一台iPhone上的APP 都有一个唯一bundle Identifier。

    每一个配置文件(Provisioning Profiles)都会包含一个App ID, 多个证书,多个设备。

    每一个CSR(开发密钥) 都只属于一台Mac电脑。

    每一个证书(Certification)都包含一个CSR(开发密钥)

    2.  关系

    1) 证书可以说是Mac电脑和苹果官方的纽带,Mac电脑只有拥有了这条纽带,安装在该电脑上的Xcode才可以使用该证书访问到苹果官方的一些信息(也就是说Mac电脑拥有了可以把xcode项目安装到iPhone上的权限)。

    2) Xcode 想要将项目安装到iPhone 上,毋庸置疑,这哥俩儿之间也需要一条纽带。这条纽带就是配置文件(Provisioning Profiles),配置文件(Provisioning Profiles)中包含着App ID 和 设备uuid,App ID 也就是Xcode target 配置中的bundle Identifier。uuid 存在于手机上,App ID存在于xcode,联系就这么通过配置文件(Provisioning Profiles)建立了。

    3) 配置文件(Provisioning Profiles) 和 证书。配置文件中包含着证书,故通过配置文件就可以访问到证书的一些信息和权限

    3. iPhone 不允许安装未知来源的应用(不像Mac电脑,可以通过 ‘系统偏好设置’ 里的 ‘安全性与隐私’ 进行修改),只有当一个应用程序变的合法(也就是经过证书签名) 才可以安装到iPhone。想要将一个xcode项目安装到iPhone 手机上,需要怎样的一个流程?

    1) xcode需要配置好使用的证书、配置文件、和bundle Identifier。所配置的证书必须存在于所配置的配置文件(Provisioning Profiles)中。所配置的bundle Identifier必须符合配置文件(Provisioning Profiles)中App ID的规则。App ID 大概有以下几种

    .............1.  com.company.firstapp。  bundle Identifier则是com.company.firstapp

    .............2.  com.company.*              bundle Identifier则是com.company.任意英文,例如com.company.abc,com.company.cbd 等

    .............3.  com.*。                          bundle Identifier则是com.任意英文,例如com.xx.xxx, com.bb.ccc 等

    .............4.  *。                                  bundle Identifier则是任意英文, 例如abc.cbd.xxx, aaa.bbb.ccc 等

    2) xcode 使用配置文件中的证书对项目进行签名。签名的过程也就是验证项目bundle Identifier是否符合App ID的规则,配置文件中证书的有效性,iPhone设备是否存在于证书中 等一系列验证。

    3) xcode  项目转化为应用程序安装到iPhone中

    4.百字不如一图,图解xcode项目安装到iPhone的过程(不涉及具体步骤详情)

    相关文章

      网友评论

          本文标题:理解IOS证书之间的关系

          本文链接:https://www.haomeiwen.com/subject/tygdettx.html