iOS 各种证书及描述文件过期或revoke的影响

2018.04.19新增,现在找到了官方网站信息


此处官方文档:
地址: https://developer.apple.com/cn/support/certificates/

证书到期或被撤销

  • Apple Push Notification Service 证书
    您无法再向您的 app 发送推送通知。
  • Apple Pay Payment Processing 证书
    您的 app 和网站将无法使用 Apple Pay 进行交易。
  • Apple Pay Merchant Identity 证书
    您的网站将无法使用 Apple Pay 进行交易。
  • Pass Type ID 证书 (Wallet 钱包)
    如果您的证书到期,用户设备上已安装的通行证将继续正常工作。但是,您不能再签署新的通行证或向现有通行证发送更新。如果证书已撤销,您的通行证将无法正常工作。
  • iOS 分发证书 (App Store)
    如果您的 Apple Developer Program 会员资格为有效状态,您在 App Store 上的现有 app 都将不受影响。但是,您不能再向 App Store 上传使用已过期或被撤销的证书签名的新 app 或更新版本。
  • iOS 分发证书(企业内部、内部使用 app)
    用户无法再运行已使用这个证书签名的 app。您必须分发使用新证书签名的新版本 app。
  • Mac App 分发证书和 Mac 安装器分发证书 (Mac App Store)
    如果您的 Apple Developer Program 会员资格有效,则您在 Mac App Store 上的现有 app 将不受影响。但是,您不能再向 App Store 上传使用已过期或被撤销的证书签名的新 app 或更新版本。
  • Developer ID App 证书(Mac app)
    如果您的证书到期,用户仍然可以下载、安装和运行使用这个证书签名的 Mac app 版本。但是,您需要使用新的证书来为更新和新的 app 签名。如果您的证书已撤销,用户将不再能安装使用这个证书签名的 app。如果您的 Mac app 通过 Developer ID 描述文件来利用 CloudKit 和推送通知等高级功能,则您必须确保您的 Developer ID 描述文件有效,这样,您的 app 的已安装版本才能够运行。了解更多 (英文)
  • Developer ID 安装器证书(Mac app)
    如果您的证书到期,用户将不再能启动使用这个证书签名的 Mac app 的安装器软件包。之前已安装的 app 仍能继续运行,但是不再能进行新的安装,除非您已使用有效的 Developer ID 安装器证书对安装器软件包重新签名。如果您的证书已撤销,用户将不再能安装使用这个证书签名的 app。
  • Apple Worldwide Developer Relations Certification Intermediate Certificate
    开发者可使用 Apple Worldwide Developer Relations 证书颁发机构签发的这个证书,对第三方 app 和 Safari 扩展进行签名以及使用 Apple Wallet 和 Apple Push Notification Service。我们已签发续订的证书,因此,自 2016 年 2 月 14 日起,在对所有新的 Apple Wallet Pass、Apple Push Notification、Safari 扩展和将向 App Store 发布的 app 进行签名时均必须包含这一证书。了解更多 (英文)

注:Apple 拥有随时撤销数字证书的决定权。如需更多信息,请阅读开发者网站上您的帐户 (英文) 中的 Apple Developer Program 许可协议。

证书被盗用

如果您怀疑您的 Pass Type ID 证书或 Developer ID 证书和私钥已被盗用,并希望提出申请来撤销证书,请发送电子邮件至 product-security@apple.com。您可以在开发者网站上登录自己的帐户 (英文) 来申请其他证书,以便继续开发和分发 Pass。

我收到这样一条错误信息:“Xcode could not find a valid private-key/certificate pair for this profile in your keychain. (Xcode 无法在您的钥匙串中找到适用于此描述文件的有效私钥/证书配对)”。

这个错误信息表明,系统的钥匙串中缺少您用于对 app 进行签名的证书公钥或私钥。

如果您尝试对 app 进行签名和构建所用的系统并非原本用于申请代码签名证书的系统,通常会发生这个错误。如果证书到期或被撤销,也同样会发生这个错误。请确保 app 的描述文件包含有效的代码签名证书,而且系统的钥匙串中包含该证书、最初用于生成该证书的私钥以及 WWDR Intermediate Certificate。

有关如何解决这个错误的说明,请查阅代码签名支持页面

如果我的 Apple Developer Program 会员资格到期,使用我的 Developer ID 签名的 app 会出现什么情况?

如果您的会员资格到期,用户仍然可以下载、安装和运行使用您的 Developer ID 签名的 app。但是,在您的 Developer ID 证书到期后,您必须成为 Apple Developer Program 会员才能获取新的 Developer ID 证书,以便为更新和新的 app 签名。


我自己整理的

iOS开发中,大概会产生以下几种常见的证书(暂时知道这些证书)

  • 开发证书(根据类型不同,个人和公司账号有效期1年,企业账号3年)
  • 发布证书(根据类型不同,个人和公司账号有效期1年,企业账号3年)
  • 推送证书(有效期1年)
  • 描述文件(结合发布证书或者开发证书和App ID产生,有效期1年)
  • MDM证书(MDM证书,有效期1年)

对于每一种证书的作用及过期或者revoke的影响,我个人整理了一下,个人理解,如有错误或者异议,可以沟通,互相学习,谢谢,在介绍之前,先引用一下苹果的证书校验的方式:

Certificate validation

The first time a user opens an app, the distribution certificate is validated by contacting Apple’s OCSP server. Unless the certificate has been revoked, the app is allowed to run. Inability to contact or get a response from the OCSP server isn’t interpreted as a revocation. To verify the status, the device must be able to reach ocsp.apple.com. See Network configuration requirements.

The OCSP response is cached on the device for the period of time specified by the OCSP server—currently, between 3 and 7 days. The validity of the certificate isn’t checked again until the device has restarted and the cached response has expired. If a revocation is received at that time, the app is prevented from running. Revoking a distribution certificate invalidates all of the apps you’ve distributed.

An app won’t run if the distribution certificate has expired. Currently, distribution certificates are valid for one year. A few weeks before your certificate expires, request a new distribution certificate from the iOS Dev Center, use it to create new distribution provisioning profiles, and then recompile and distribute the updated apps to your users. See Providing updated apps.

个人欧路词典翻译:


证书验证

用户第一次打开应用程序时,会通过联系Apple的OCSP服务器来验证分发证书。除非证书已被撤销,否则应用程序将被允许运行。
无法联系或获得OCSP服务器的响应不被解释为撤销。
要验证状态,设备必须能够访问ocsp.apple.com。
请参阅网络配置要求。

OCSP响应在OCSP服务器指定的时间段内缓存在设备上,
***当前为3到7天。直到设备重新启动并且缓存的响应已过期,才会再次检查证书的有效性。***
如果当时收到吊销,应用程序将无法运行。撤销分发证书会使您分发的所有应用程序失效。

如果分发证书过期,应用程序将不会运行。目前,分销证书有效期为一年。证书过期前几周,
请从iOS开发人员中心申请新的分发证书,使用它创建新的分发配置配置文件,然后重新编译并将更新后的应用分发给用户。
请参阅提供更新的应用

开发证书和发布证书:

此证书基本上可以理解为我们开发权限的最重要的证书,一旦此证书过期或者被销毁,(不考虑使用相同CSR文件的情况),此开发者名下的所有app都会受到影响,具体为:

  1. 企业账号 :
    名下所有app都无法打开,打开及闪退,受此影响,推送证书及描述文件均失效
  2. 公司/个人账号 :
    在苹果商店下载安装的app不受影响(无论是过期还是Revoke,甚至是开发者账号被注销,因为这个时候,对于app的签名,是通过苹果私钥直接签名的,没有使用开发者名下的私钥签名),开发者开发模式下的app无法打开及闪退,测试的推送证书失效

推送证书

推送证书过期 :
由于证书过期之后,私钥签名之后,苹果解密之后,发现证书过期无效,证书无法与苹果服务器通信,因此推送证书过期之后,无法使用此证书再次发生推送
推送证书被Revoke :
虽然证书被Revoke,推送功能将无法使用,无法连接苹果服务器(因为生成推送证书的时候,需要生成CSR,里面包含公私钥,我们如果立刻revoke,然后立刻去试的话 是生效的,可能需要苹果同步,第二天将无法使用,提示证书错误,)由此影响的关联的描述文件,如果之前下载的,那么是有效的,如果是在revoke之后下载,将是无效的

描述文件

  1. 企业账号 :
    如果是过期,名下所有app都无法打开,打开及闪退,有时不会立刻就反应过来,因为苹果有缓存,可以看上面的证书介绍

  2. 公司/个人账号 :
    在苹果商店下载安装的app不受影响(无论是过期还是Revoke,甚至是开发者账号被注销,因为这个时候,对于app的签名,是通过苹果私钥直接签名的,没有使用开发者名下的私钥签名),开发者开发模式下的app无法打开及闪退,测试的推送证书失效

MDM证书

只有企业账户才能申请此证书;一旦过期应该根据由此证书签名的所有的第三方证书(比如APSP证书等) 全部无效,Revoke之后应该是和推送证书是一样的,需要再确认一下

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容

  • 1.首先通过钥匙串访问——证书助理——从证书颁发机构请求证书——填写证书信息(邮箱,常用名称,存储到磁盘)——存储...
    DanDanC阅读 7,900评论 5 15
  • 引言关于开发证书配置(Certificates & Identifiers & Provisioning Prof...
    molake阅读 47,953评论 7 62
  • 引言 关于开发证书配置(Certificates & Identifiers & Provisioning Pro...
    Damen_9527阅读 9,343评论 0 4
  • 接触iOS开发多年,花了一点时间去研究了一下iOS这套证书和签名机制,并撰文分享给需要的朋友。由于本人才疏学浅,多...
    风和花阅读 1,844评论 0 7
  • 谢谢你,出现在我的生命里,尽管很短的一段时间,但是还是感谢你,温暖了我的冬天,照亮了我的世界,让它不至于阴...
    蓝色叉烧包阅读 647评论 1 0