DCloud_App_Array
DCloud_App_Array
  • 发布:2019-10-28 20:07
  • 更新:2024-09-20 20:25
  • 阅读:319628

Android平台云端打包 - 公共测试证书

分类:HTML5+

由于公共测试证书的描述信息都是测试数据,并且任何人都可以使用,也可以下载此证书,最近发现有开发者使用此证书发布了一些涉嫌欺诈的APP,被某些安全检测平台将此证书列入黑名单,因此可能会将使用了公共测试证书的应用误报为病毒。HBuilderX3.1.10+版本更新了公共测试证书,避免在部分手机安装测试时提示应用存在风险的问题,已经使用测试证书的应用需尽快更新使用自有证书。另外后续HBuilderX版本将不再支持使用公共测试证书,新增自动生成证书功能来替代公共测试证书。

!!!注意!!!
公共测试证书仅适合应用开发期间体验测试使用
公共测试证书中的描述信息都是测试数据,任何人都能下载使用,存在安全隐患,在部分安全检测平台可能会误报病毒。不要使用公共测试证书正式发布应用!!!

测试证书更新引出的问题

HBuilderX3.1.10版本更新了测试证书,解决使用功能测试证书在部分机器上安装测试时提示风险的问题

如果之前发布的应用已经使用了测试证书,更新HBuilderX3.1.10后提交云端打包将会使用新的公共测试证书,可能会出现以下情况:

  • 无法覆盖安装,这是因为公共测试证书更新了
  • 在部分手机安装时可能被系统弹出提示有风险,这是因为系统记录了之前使用的签名证书,重新打包后使用了新证书,因此被系统怀疑为钓鱼App
  • 三方SDK相关功能(地图、UniPush、一键登录)无法正常使用,这是因为签名证书改变,需要到对应后台更新配置签名证书信息

解决方案

  • 更新证书,注意不要继续使用测试证书发布应用,应该更新使用自有证书,参考:生成Android签名证书。如果已经上架到应用市场,需要先下架再重新提交。
  • 继续使用原来测试证书,请在此文章的“HBuilderX3.1.10之前版本公共测试证书”下载,作为自己生成的证书提交云端打包`

关于Android证书的用途

证书是一个开发者的身份标志,对Android系统而言。使用同一个证书签发的App,是属于同一个开发者的App,并确保此证书不被泄露(务必管理好自己的证书)。

举个极端的例子,如果你的应用证书泄露,那么别人可以用这个证书签名一个仿冒App,假如包名和你的包名也一样,就可以覆盖安装安卓手机上你之前的包。

当前仅依赖证书校验是不完善的,所以主流的Android应用市场,通过实名认证开发者信息和著作权,强化了App的唯一性。也就是从主流应用市场点更新,不会发生冒充事件。但是通过其他方式安装apk,仍然会发生冒充的可能性。

如果签名不同,即使包名相同,也无法覆盖安装。此时安卓手机会在安装时报错,需要先卸载老的版本,才能安装新版。

云端打包使用公共测试证书

提交云端打包时在“App云端打包界面”选择“使用公共测试证书”:

HBuilderX3.1.10+版本公共测试证书

可用于测试打包,不要用于正式发布,其信息如下:
MD5: 06:83:8C:C8:40:09:3B:9D:46:89:FC:41:9B:A1:A3:F3
SHA1: 97:C8:41:01:B9:14:1C:13:0D:D7:5D:74:28:A2:92:25:18:C3:6D:CD
SHA256: B0:1D:06:18:0D:00:3E:79:C7:B9:08:89:93:B8:E5:AE:7A:19:B0:DA:11:61:AA:09:7C:7F:39:8A:6F:51:4F:A7
应用签名: 06838cc840093b9d4689fc419ba1a3f3

完整信息如下:

Keystore type: PKCS12  
Keystore provider: SUN  

Your keystore contains 1 entry  

Alias name: android  
Creation date: 2021-4-12  
Entry type: PrivateKeyEntry  
Certificate chain length: 1  
Certificate[1]:  
Owner: CN=Android Debug, OU=Android, O=Android, L=HD, ST=BJ, C=CN  
Issuer: CN=Android Debug, OU=Android, O=Android, L=HD, ST=BJ, C=CN  
Serial number: 363bc393  
Valid from: Mon Apr 12 16:27:53 CST 2021 until: Wed Mar 19 16:27:53 CST 2121  
Certificate fingerprints:  
         MD5:  06:83:8C:C8:40:09:3B:9D:46:89:FC:41:9B:A1:A3:F3  
         SHA1: 97:C8:41:01:B9:14:1C:13:0D:D7:5D:74:28:A2:92:25:18:C3:6D:CD  
         SHA256: B0:1D:06:18:0D:00:3E:79:C7:B9:08:89:93:B8:E5:AE:7A:19:B0:DA:11:61:AA:09:7C:7F:39:8A:6F:51:4F:A7  
Signature algorithm name: SHA256withRSA  
Subject Public Key Algorithm: 2048-bit RSA key  
Version: 3

公共测试证书下载

本地离线打包如果需要使用公共测试证书,可从这里下载。
证书密码:123456
证书别名:android

可用于测试打包,不要用于正式发布,其信息如下:
MD5: F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5
SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7
SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26
应用签名: f9f6c81fdbab50147d6f2c4fcee60aa5

完整信息如下:

Keystore type: PKCS12  
Keystore provider: SUN  

Your keystore contains 1 entry  

Alias name: test  
Creation date: 2019-10-28  
Entry type: PrivateKeyEntry  
Certificate chain length: 1  
Certificate[1]:  
Owner: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN  
Issuer: CN=Tester, OU=Test, O=Test, L=HD, ST=BJ, C=CN  
Serial number: 7dd12840  
Valid from: Fri Jul 26 20:52:56 CST 2019 until: Sun Jul 02 20:52:56 CST 2119  
Certificate fingerprints:  
         MD5:  F9:F6:C8:1F:DB:AB:50:14:7D:6F:2C:4F:CE:E6:0A:A5  
         SHA1: BB:AC:E2:2F:97:3B:18:02:E7:D6:69:A3:7A:28:EF:D2:3F:A3:68:E7  
         SHA256: 24:11:7D:E7:36:12:BC:FE:AF:2A:6A:24:BD:04:4F:2E:33:E5:2D:41:96:5F:50:4D:74:17:7F:4F:E2:55:EB:26  
Signature algorithm name: SHA256withRSA  
Subject Public Key Algorithm: 2048-bit RSA key  
Version: 3

公共测试证书下载

本地离线打包如果需要使用公共测试证书,可从这里下载。
证书密码:123456
证书别名:test

再次强调:为了确保应用的安全性,正式发布应用不要使用公共测试证书

5 关注 分享
sonicsunsky s***@163.com w***@foxmail.com 2***@qq.com yangshu525

要回复文章请先登录注册

中午吃啥

中午吃啥

ios能不能也出一个公测证书和密钥
2020-07-10 14:24
Stalker丶

Stalker丶

请问下,有老版本的HBuilder.keystore公用签名证书吗,现在急需,要通过安卓原生来进行升级
2020-06-17 17:26
DCloud_App_Array

DCloud_App_Array (作者)

回复 终于不被占用了 :
实名认证后依然可以继续使用DCloud老版本证书打包
2020-03-20 12:18
终于不被占用了

终于不被占用了

请问 现在还可以用 DCloud老版证书 打包上线吗?我之前一直使用的是DCloud老版证书 打包发布应用宝的,如果老版证书不能用的话,那重新生成证书,更新的时候就会有签名不一致的提示,须得卸载已经安装的应用,才能完成更新,用户不知道卸载将不能更新。
2020-03-17 16:20
DCloud_App_Array

DCloud_App_Array (作者)

回复 终于不被占用了 :
公共测试证书对所有人都是公开的,如果使用此证书打包提交应用宝,也可以审核通过。但是会存在安全隐患,其它开发者也可以使用此证书打包冒充你的应用,也可以在应用宝上认领你的应用。
因此建议不要使用测试证书发布应用,自己生成证书发布才安全,生成证书参考:https://ask.dcloud.net.cn/article/35777
2020-03-16 13:04
终于不被占用了

终于不被占用了

使用公共测试证书正式发布应用会有什么影响,腾讯应用宝会审核通过吗?
2020-03-15 21:23