• ios证书


    前言:

      证书过期或者描述文件(配置文件/PP文件/mobileProvision文件/Provision Profile文件)过期都会引起很大的问题。

      如果是用的企业证书打包在企业内部服务器上通过itms-services协议发布并下载使用的app,其描述文件或证书过期会出现:(a)通过xcrun命令来打包不会成功;(b)如果之前已经打包成功的,安装app时会提示 “无法下载应用,此时无法安装“XXX””;(c)如果应用在之前已经下载好,此时也无法打开。截止目前,遇到过两次这样的事故,正好一次是证书过期导致,一次是PP文件过期导致。所以大家一定要注意证书和PP文件的有效期,及时更新。

        如果是开发版证书打的包,通过appStore发布的app,苹果会直接下架应用,你就无法在appStore上面找到你的应用了,但之前下载的app还是可以用的。

      本篇文章讲解用ios证书制作过程,以及每个步骤的解释。 

    正文:

    Xcode签名至少需要2样东西:证书和配置文件。证书有效一年,通常只要不过期不需要更新,只跟开发账户有关。配置文件则跟app的权限、绑定的设备等很多内容相关。虽然有效期同为一年,但是由于经常需要添加测试设备或者增减app的权限设置(如apple pay,app group, push等),经常需要更换。而工程文件里,证书是通过名字在索引的,而配置文件则是通过UUID来索引。

    证书的分类信息:(括号内为证书有效期)

    • Development
      • App Development (1年):用来开发和真机调试应用程序。
      • Push Development (1年):用来调试Apple Push Notification
    • Production
      • In-House and Ad Hoc (3年):用来发布In-House和AdHoc的应用程序。

      • App Store :用来发布提交App Store的应用程序。

      • MDM CSR
      • Push Production (1年):用来在发布版本中使用Apple Push Notification。
      • Pass Type ID Certificate:用于通行证类证书
      • Website Push ID Certificate

    打包或运行真机app,需三步认证:

    (1)需要证书对应的私钥来进行签名,用于标识这个App是否合法、安全、完整;

    (2)需AppId,并验证Bundle ID是否与其一致;

    (3)若真机测试,需确认这台iphone设备是否授权。

    用ios证书打包app步骤

    (1)在mac的钥匙串中,生成.certSigningRequest文件(即CSR文件);

       解释:

        keychain生成一个包含开发者身份信息的CSR(Certificate Siging Request)文件,同时,KeyChain Access|Keys中新增一对Public|Private Key Pair。

        private key始终保存在Mac OS的Keychain Access中,用于签名对外发布的APP;

        public key随证书(随provisioning profile,随APP)散布出去,对APP签名进行校验认证。

    (2)在apple的开发者网站上,使用.certSigningRequest文件,生成.cer文件;

       解释:

        Apple证书颁发机构WWDRCA(Apple Worldwide Developer Relations Certificate Authority)将使用private key对CSR中的public key和一些身份信息进行加密生成数字证书(ios_development.cer),并记录在案(Apple Member Center)。 

    (3)下载.cer文件到MAC,双击安装证书。然后在keychain access中看到证书,此keychain里的证书,可右键导出成p12;

       解释:

        除了下载.cer文件到MAC上双击安装证书,还可以在Xcode中添加开发者账号自动同步证书和[生成]配置文件。

        证书安装成功后,keychain Access|keys   ——》 公钥

                keychain Access|certificates   ——》 私钥(即ios_development.cer文件)

        certificate在Xcode中的位置:Xcode Target | Build Setting |Code Signing | Code Signing Identity 下有 Identities from profile

    (4)使用appid和.cer文件生成.mobileProvision文件;

       解释:

        Xcode将配置文件provisioning profile 放在目录 ~/Library/MobileDevice/Provisioning Profiles下。

    (5)用p12和.mobileprovision打包;

    上面提到的文件的关系可以用下图表示:

    (https://github.com/SheronLv/Images/tree/master/mobileProfile)

  • 相关阅读:
    hashMap put的返回值测试
    mysql java 类型对照 int
    crontab
    Caused by: java.lang.IllegalArgumentException: Modifying queries can only use void or int/Integer as return type!
    Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean
    Spring boot ---- java.lang.NoClassDefFoundError: javax/servlet/ServletContext
    蒙特卡罗算法:模拟
    Linux学习笔记:cut命令
    Linux学习笔记:split切分文件并按规律命名及添加拓展名
    Shell学习笔记:awk实现group by分组统计功能
  • 原文地址:https://www.cnblogs.com/Xylophone/p/5175086.html
Copyright © 2020-2023  润新知