一、开发和发布证书作用

苹果iOS证书的作用,有效期,过期与解决办法-43999

1、类似上边证书样式的就是Certificates(证书,包括开发、发布证书),作用 : 这.cer文件格式的证书是让开发者使用的设备(也就是你的Mac)有真机调试,发布APP的权限。

苹果iOS证书的作用,有效期,过期与解决办法-43999
2、类似上边证书样式的就是Provisioning Profiles(描述文件,简称PP),这.mobileprovision文件格式的配置文件是让开发者的项目(APP)能有真机调试,发布的权限。

二、各种证书的有效期
企业帐号发布证书有效期是3年,而开发证书有效期为1年,而描述文件开发发布都是只有1年有效期。

个人帐号开发证书发布证书有效期都是1年,描述文件也全是1年有效期。

三、各种证书过期后的后果
1、开发证书和发布证书:

(1)企业账号以及打包上传到蒲公英的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)的有效期都是一年,将要过期的时候,苹果官方会发邮件提醒

过期的体现:

1、我的证书可以看到各个App的推送证书,如果过期了,显示红色X

苹果iOS证书的作用,有效期,过期与解决办法-43999
2、43999提示

苹果iOS证书的作用,有效期,过期与解决办法-43999
3、AppStore 信息显示

苹果iOS证书的作用,有效期,过期与解决办法-43999
解决办法:

1.官网信息点击编辑进入编辑

苹果iOS证书的作用,有效期,过期与解决办法-43999
2.重新创建生产和开发证书

苹果iOS证书的作用,有效期,过期与解决办法-43999
3.进入Create a CSR file 页面,直接Continue:

苹果iOS证书的作用,有效期,过期与解决办法-43999
4.选择CSR File,这个时候还没有创建CSR File,我们需要创建之后才能提交

苹果iOS证书的作用,有效期,过期与解决办法-43999
5.打开钥匙串,首先在我的证书中,将已过期的两个证书删除

6.创建新的CSR文件。点击菜单中钥匙串访问—>证书助理—>从证书颁发机构请求证书…

苹果iOS证书的作用,有效期,过期与解决办法-43999
7.进入证书助理,填写信息(用户名称和邮箱随便写),请求是 选择 存储到磁盘

苹果iOS证书的作用,有效期,过期与解决办法-43999
8.创建好CSR文件,回到步骤4选择新创建的文件提交。点击Continue

苹果iOS证书的作用,有效期,过期与解决办法-43999
9.将生成的证书下载下来,第一个证书完成。

苹果iOS证书的作用,有效期,过期与解决办法-43999
10.回到步骤2的界面,可以看到开发证书已经存在了,重复3-9的步骤(使用同一个CSR文件即可)创建另一个生产证书

苹果iOS证书的作用,有效期,过期与解决办法-43999
完成之后,在过期表现中的表现3已改变

苹果iOS证书的作用,有效期,过期与解决办法-43999
11.双击下载的两个证书,把证书添加到钥匙串中

12.为了正常使用43999SDK,去43999官网重新配置两个证书。需要提供p12后缀的文件。

苹果iOS证书的作用,有效期,过期与解决办法-43999
13、p12后缀文件由钥匙串中的证书导出所得

苹果iOS证书的作用,有效期,过期与解决办法-43999

苹果iOS证书的作用,有效期,过期与解决办法-43999

14、这里写的密码即为43999证书密码。提交两个p12后缀文件和填写证书密码,至此过期表现中的表现2已改变

苹果iOS证书的作用,有效期,过期与解决办法-43999
完结:同时,App上推送模块就可以正常使用

为了避免推送失效,最好的解决办法,就是失效之前生成一个新的推送证书,然后把p12 文件传到推送上,之后再revoked掉旧的