zoukankan      html  css  js  c++  java
  • IOS开发 证书总结

    开发者证书   ------>> 


    首先你必须获得apple开发者证书,上图这个文件就是apple开发者证书,只要有apple的开发者账号就可以下载到,此证书可以直接到

    developer.apple.com -->

        Member Center -->

          Certificates, Identifiers & Profiles, Certificate -->

            Certificates  -->  Add Certificates 里面下载到, 如下图:

    那么这个文件有什么用处? 后文再说!

    其次需要理解 Certificate, Identifier, Devices, Provisioning Profiles


    Certificate

    用于给应用程序签名(只有签名过的应用程序才能保证其来源是可信任的,代码是完整的,未经修改的), 在项目的Project  |  Targets -----> Build Settings -----> Code Signing Identity里面指定, 如下图:

    我们如何给应用程序签名?
     
        申请Certificate之前需要申请一个 Certificate Signing Request(CSR) 文件,这个文件是保存在我们的mac的(keychain)里面的, 此文件包含了(公钥和私钥), 而我们的应用程序签名是使用私钥来签名用公钥来进行验证,  而苹果生成的Certificate 只包含了公钥, 当你用自己的私钥签名后,苹果会用公钥来进行验证,确保是你自己对程序签名而不是别人冒充的。
     
    •     首先是申请CSR文件,打开Keychain Access, 如下图:  

          

    • 然后按下图依次点击

          注意下图的  Request a Certificate from a Certificate Authority 
          如果没有这个选项的话,还记得文章开头的那个AppleWWDRCA.cer证书么,对了就是它,安装它后就OK啦

    • 再然后common name随便填, CA Email Address 留空, 再点击continue 继续

    • OK, CSR文件就生成了

    那么上一步说的CSR文件包含了public key 和 private key我们就可以在Keychain Access里面看到了, 如下图:

    CSR文件生成之后就要生成Certificate了, 进入Developer页面(Certificates, Identifiers & Profiles) --> Certificates ---> + 

      1.     选择证书类型     (Development or Production)
      2.     上传提供之前创建的 Certificate Signing Request(CSR)文件
      3.     下载生成好的Certificate 文件
      4.      双击安装(特别提示:如果以前有安装过此开发者证书且名字相同,双击安装极有可能不生效,需要做的是直接把此Certificate文件拖入到Keychian Access的Login里面,当然如果以前的没用的可以删除, --- 通过搜索iphone developer可以找到)

    Identifier:
    作用?
        
        顾名思义App ID(application id, not apple id), 对于你的一个或者一组app他们的唯一标识, 这个App ID跟你Xcode中的Targets -----> General-----> Identity中的Bundle Identifier是匹配的,(其余的那些推送服务啊什么的都是配置在APP ID下面的) 如下图:

     

    Provisioning Profile

        
        一个Provisioning Profile包含了上述所有内容 Certificate && App ID && Device, 这个Provisioning Profile文件会在打包时嵌入到.ipa的包里,如下图: 
     
     
    所以一台设备上运行应用程序的过程如下(以Developer Provisioning Profile为例):
     
    1 检查app 的 bunld ID 是否 matches Provisioning Profile 的 App ID
    2 检查 app 的 entitements 是否 matches Provisioning Profile 的 entitements
    3 用Certificate来验证签名签名
    4 检查此设备的UDID是否存在于 Provisioning Profiles中 (仅在 非发布证书中)
     
    如何创建?
    在 Provisioning Profiles 中点加号,然后依次选择App ID, Certificate, Devices(development),再指定名称,最后下载, 双击则安装到Xcode中
     
     
    Xcode中的配置
     
    Project && Target 的 build settings 中搜索Code sign…
    然后分别选好对应的证书,如果选择列表中没有刚才创建的证书可以双击直接复制名字上去 

    关于推送服务
    基于上面的操作,如果需要推送服务我们还需要申请一个推送证书
     
    依次进入 Certificates —>Production —>Apple Push Notification service SSL (Production)
    然后选择需要推送服务的App ID
    再选择前面创建的.cerSigningRequest文件
    最后点击generated生成推送证书 
  • 相关阅读:
    hdu 5101 Select
    hdu 5100 Chessboard
    cf B. I.O.U.
    cf C. Inna and Dima
    cf B. Inna and Nine
    cf C. Counting Kangaroos is Fun
    Radar Installation 贪心
    spfa模板
    Sequence
    棋盘问题
  • 原文地址:https://www.cnblogs.com/zhaoyang/p/3582436.html
Copyright © 2011-2022 走看看