【鸿蒙游戏技术分享 第74期】证书更换后持久化数据无法访问
发布证书和调试证书都可以用同一个csr文件来生成,这个原始的csr、p12文件,以及生成这俩文件时候填的一些关键数据一定要保存好,后续证书过期需要创建新证书的时候都需要用到,否则可能影响到已经安装的一些包体的功能,如果原始的csr文件丢失,目前这个影响是无法人工恢复的。重新排查签名过程,发现新申请的证书,使用的csr文件也是本地新生成的,导致新创建的cer指纹发生变化,持久化的关键数据,本地有证书
关键词
鸿蒙签名
问题现象
调试证书到期后申请了新的,游戏持久化在本地的关键资产无法正常访问了。
问题定位
游戏本身逻辑没有任何变动,唯一的变化只有签名,大概率是签名出了问题。重新排查签名过程,发现新申请的证书,使用的csr文件也是本地新生成的,导致新创建的cer指纹发生变化,持久化的关键数据,本地有证书的缓存信息,包括很多kit的云侧校验都会因此收到影响。
问题修复
使用原先证书的csr,生成新的cer证书和profile文件,重新进行打包验证,功能正常了,持久化的关键数据可以正常访问了。
关于游戏鸿蒙证书签名相关的几个小Tips
1、AGC后台的证书是有上限数量的,开发者账号下有多个游戏的时候,一定要考虑合理的证书复用。
2、Deveco本地生成的csr、p12文件是可以复用的,AGC后台根据csr创建的cer也是可以复用的,每个应用只需要维护各自的profile文件即可。发布证书和调试证书都可以用同一个csr文件来生成,这个原始的csr、p12文件,以及生成这俩文件时候填的一些关键数据一定要保存好,后续证书过期需要创建新证书的时候都需要用到,否则可能影响到已经安装的一些包体的功能,如果原始的csr文件丢失,目前这个影响是无法人工恢复的。
3、游戏这边打包的时候建议使用手动签名的方式,自动签名不同的设备会自动生成一份新的调试证书,可能会导致AGC后台快速达到证书上限。
4、同一台设备上,如果先后安装过同版本号(versioncode相同)的发布证书包(在架包)以及调试证书包(debug包),云侧证书校验可能会失败,证书信息在本地会有24h的缓存。
更多问题可关注:
鸿蒙游戏官方网站:https://developer.huawei.com/consumer/cn/games/
公开课:华为开发者学堂
更多推荐
所有评论(0)