Apple推送通知服务(APNS)p8/p12证书有效期及更新周期是多少?
APNS 两类推送认证凭证有效期及更换规则
*.p8 格式APNS认证密钥
这类是Apple目前主推的APNS认证方式,有效期规则非常明确:
- 无预设到期时间,只要你不主动在Apple Developer后台撤销对应密钥,且账号状态正常、密钥没有泄露,就可以永久使用,没有强制更换要求。这也是现在绝大多数开发者优先选p8密钥的核心原因,省掉了每年续期证书的麻烦。
- 触发p8密钥失效的场景只有三类:手动在开发者后台撤销该密钥、开发者账号未续费/被封禁导致权限失效、确认密钥泄露后主动作废。
- 注意Apple后台不会留存你生成的p8密钥文件,生成时请妥善本地备份,丢失后无法找回,只能重新生成新密钥;单个开发者账号最多同时保留2个有效的APNS p8密钥,方便你做无缝轮换。
- 单份p8密钥是跨App、跨环境通用的,同一个账号下生成的密钥,可同时用于所有App的沙箱(开发)、生产环境推送,不需要按App、按环境单独申请。
*.p12 格式APNS推送证书
这类是APNS早期使用的证书类认证凭证,有效期规则和p8完全不同:
- 固定有效期为生成日起1年,不管是沙箱开发证书还是生产正式证书,到期后会直接失效,用过期证书发起推送请求会被APNS服务端直接拒绝,推送完全中断。
- p12证书和App ID、推送环境强绑定,单个p12文件只能对应一个App的对应环境(开发/生产)推送,不能跨App、跨环境混用。
- 证书到期前可以提前生成新证书,新旧证书在有效期重叠时段可以正常使用,不会出现推送冲突。
实际使用中的更换周期建议
- 针对
*.p8密钥:没有固定更换周期,日常做好密钥权限管控和本地备份即可,只要没有泄露风险就可以长期使用。如果出现密钥丢失、怀疑泄露的情况,先在服务端配置好新生成的p8密钥,验证推送正常后,再去后台把旧密钥撤销,避免推送中断。 - 针对
*.p12证书:建议在证书到期前3-4周就生成新证书完成替换,不要卡着到期时间操作,预留出排查问题的缓冲时间,避免证书过期导致全量推送故障。如果团队有安全合规要求,也可以每半年主动轮换一次p12证书,不必等1年有效期满。
内容的提问来源于stack exchange,提问作者Aleksei Chernenkov
相关产品推荐
相关产品推荐

