一.各种证书的有效期
企业帐号发布证书有效期是3年,而开发证书有效期为1年,而描述文件开发发布都是只有1年有效期。
个人帐号开发证书发布证书有效期都是1年,描述文件也全是1年有效期。
二.各种证书过期后的后果
1、开发证书和发布证书过期后果:
1)企业账号以及打包上传到fir和蒲公英的ipa
名下所有app都无法打开,打开及闪退,受此影响,推送证书及描述文件均失效
2)公司/个人账号:
在苹果商店下载安装的app不受影响(无论是过期还是Revoke,甚至是开发者账号被注销,因为这个时候,对于app的签名,是通过苹果私钥直接签名的,没有使用开发者名下的私钥签名),开发者开发模式下的app无法打开及闪退,测试的推送证书失效
2、描述文件过期后果
1)企业账号以及打包上传到fir和蒲公英的ipa
如果是过期,名下所有app都无法打开,打开及闪退,有时不会立刻就反应过来,因为苹果有缓存,可以看上面的证书介绍
2)公司/个人账号:
在苹果商店下载安装的app不受影响(无论是过期还是Revoke,甚至是开发者账号被注销,因为这个时候,对于app的签名,是通过苹果私钥直接签名的,没有使用开发者名下的私钥签名),开发者开发模式下的app无法打开及闪退,测试的推送证书失效
3、推送证书过期后果
推送证书过期:
由于证书过期之后,私钥签名之后,苹果解密之后,发现证书过期无效,证书无法与苹果服务器通信,因此推送证书过期之后,无法使用此证书再次发生推送
推送证书被Revoke:
虽然证书被Revoke,推送功能将无法使用,无法连接苹果服务器(因为生成推送证书的时候,需要生成CSR,里面包含公私钥,我们如果立刻revoke,然后立刻去试的话 是生效的,可能需要苹果同步,第二天将无法使用,提示证书错误,)由此影响的关联的描述文件,如果之前下载的,那么是有效的,如果是在revoke之后下载,将是无效的
三.各种证书失效后的解决办法
1、开发或者发布证书的解决办法
如果你的开发者账号是company(公司)类型或个人类型的,只要你的每年99$的开发者membership没有过期,就不会对已上架的app产生影响,只是你下次发布或者更新app就要重新生成一个distribution证书了。如果你的开发者账号是enterprise类型(企业级)的,证书过期或被revoke了之后,那么安装过该证书打包的app的用户将无法打开该app了,开发或者发布证书过期后,他相关的描述文件也会失效,解决办法如下:
这个时候你需要到开发者中心—Certificates 目录下把过期的开发或者发布证书Revoke掉,然后生成新的开发或者发布证书,之后还需要更新描述文件,点击过期的描述文件展开详情界面----点击Edit按钮---- 选择对应的开发或者发布证书—点击Generate按钮
为了避免失效后,通过fir打包上传或企业级的APP不能用,一定要在失效之前,生成一个新的发布证书,生成对应的描述文件 ,安装到钥匙串中,在失效之前强制更新一次APP
切记不要随便revoked调你的发布证书,如果你通过fir打包上传或者企业级APP,就会闪退不能用
2、开发或者发布描述文件的解决办法
一般描述文件过期的原因是 :他相关的开发或者发布证书过期,这个时候你需要到开发者中心—Certificates 目录下把过期的开发或者发布证书Revoke掉,然后生成新的开发或者发布证书,之后别慌, 只需要几步就更新描述文件,点击过期的描述文件展开详情界面----点击Edit按钮---- 选择对应的开发或者发布证书—点击Generate按钮
为了避免失效后,通过fir打包上传或企业级的APP不能用,一定要在失效之前,生成一个新的描述文件 ,安装,在失效之前强制更新一次APP
3、推送证书过期的解决办法
推送证书(生产Apple Push Services和开发APNs Development iOS)的有效期都是一年,将要过期的时候,苹果官方会发邮件提醒