DCloud_App_Array
DCloud_App_Array
  • 发布:2014-09-29 12:25
  • 更新:2024-02-26 17:28
  • 阅读:176608

Android平台云端打包 - DCloud公用证书(DCloud老版证书)

分类:HTML5+

由于老版DCloud证书包含了DCloud公司名称信息,最近发现开发者使用此证书发布违规违法APP,牵连了DCloud。
应政府要求,HBuilderX将不再推荐使用老版DCloud公用证书,请开发者使用自己的证书打包发布应用,参考生成Android签名证书

  • 云端打包
    老版DCloud公用证书将于2020年3月1日过期,过期后再使用本证书需实名认证。
  • 离线打包
    从即日起不再提供老版DCloud公用证书的下载,请开发者更换为自己的证书。如继续使用需实名认证,先用其它证书打包生成apk,然后使用通过实名认证的邮箱将apk发送到service@dcloud.io,我们签名后通过邮件回复。

如需测试、体验打包,不想自己生成证书,可以临时使用公共测试证书

关于Android证书的用途

证书是一个开发者的身份标志,对Android系统而言。使用一个证书签发的App,是属于同一个开发者的App。

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

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

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

DCloud在新版HBuilderX中提供了一个新的公共测试证书,这个证书也仅适合用于初期体验测试和不在意被冒充的业务(虽然是极端情况下)。敏感的商业应用,不应该使用公共测试证书,而要用自己的证书。

安卓应用升级的逻辑

安卓手机安装新的apk时,会校验本机已存在的应用包名,如果本机没有相同包名的应用,会走新安装流程。
如果本机已存在相同包名的应用,则走升级流程,然后会进一步判断证书签名是否相同、版本号是否更高,校验通过后才会覆盖升级。

应用更新证书可能引起以下问题,需要开发者谨慎操作:

  • 更换证书会造成老用户无法覆盖安装
    此时方式1,是请老用户卸载旧版,重新下载。
    方式2,也可以干脆换个包名和logo,在应用图标上带个新版之类的标记。老应用启动时,直接引导用户重新安装新版apk。
  • 更换证书需要同步更新第三方SDK配置的应用签名
    如微信登录、分享、支付,更新证书需要登录微信开放平台修改更新Android平台的应用签名。
  • 更换证书会导致应用市场更新麻烦
    应用市场更新应用时会校验签名信息,如果证书更换可能无法上传更新。
    方式1,先下架老应用再上传新应用
    方式2,重新新建应用上传

DCloud公用证书信息(将过期不要再使用)

HBuilder|HBuilderX应用云端打包Android平台默认使用的DCloud公用证书,其信息如下:
MD5: 59:20:1C:F6:58:92:02:CB:2C:DA:B2:67:52:47:21:12
SHA1:BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58
SHA256:D7:5C:1F:A2:B9:AE:86:7C:E6:88:A8:AD:C6:DE:AC:7C:D6:BA:96:F4:3A:75:1F:D1:0A:20:0F:A5:97:4A:C6:36

应用签名: 59201cf6589202cb2cdab26752472112

完整信息如下:

别名: hbuilder  
创建日期: 2014-9-29  
条目类型: PrivateKeyEntry  
证书链长度: 1  
证书[1]:  
所有者: CN=DH, OU=数字天堂(北京)网络技术有限公司, O=数字天堂(北京)网络技术有限公司, L=海淀, ST=北京, C=86  
发布者: CN=DH, OU=数字天堂(北京)网络技术有限公司, O=数字天堂(北京)网络技术有限公司, L=海淀, ST=北京, C=86  
序列号: 5174dc8b  
有效期为 Mon Apr 22 14:45:31 CST 2013 至 Sun Aug 23 14:45:31 CST 3012  
证书指纹:  
         MD5:  59:20:1C:F6:58:92:02:CB:2C:DA:B2:67:52:47:21:12  
         SHA1: BA:AD:09:3A:82:82:9F:B4:32:A7:B2:8C:B4:CC:F0:E9:F3:7D:AE:58  
         SHA256: D7:5C:1F:A2:B9:AE:86:7C:E6:88:A8:AD:C6:DE:AC:7C:D6:BA:96:F4:3A:75:1F:D1:0A:20:0F:A5:97:4A:C6:36  
签名算法名称: SHA1withRSA  
主体公共密钥算法: 1024 位 RSA 密钥  
版本: 3
31 关注 分享
龙七 蔡繁荣 5***@qq.com Trust liuning 孟泽伟 雪之梦技术驿站 Warn dreamit1986 w***@qq.com 1***@qq.com miskss Ayumi 4***@qq.com JerryZhang40 DCloud_uniCloud_WYQ p***@126.com 3***@qq.com 3***@qq.com 1***@qq.com 2***@qq.com 7***@qq.com 陌辰 求知路上 1***@qq.com ssy15964229401 1***@163.com 2***@qq.com x***@gmail.com 中福宝 DCloud_UNI_HRK

要回复文章请先登录注册

锦旗

锦旗

你好,使用已实名认证的邮箱将apk发送到service@dcloud.io一般多久会回复?
2021-11-22 11:54
x***@gmail.com

x***@gmail.com

我大概知道了 要在unipush 上传一个证书 我去弄个证书来试试吧
2021-11-20 04:29
x***@gmail.com

x***@gmail.com

云打包 ios 报错 大佬们帮忙看看是啥问题呀
2021-11-20 04:26
x***@gmail.com

x***@gmail.com

User defaults from command line:
IDEPackageSupportUseBuiltinSCM = YES

Build settings from command line:
SDKROOT = iphoneos14.5

note: Using new build system
note: Planning build
note: Analyzing workspace
note: Constructing build description
note: Build preparation complete
error: No certificate for team 'YQM5H857L5' matching 'iPhone Developer: P B (CXHV2PS9PG)' found: Select a different signing certificate for CODE_SIGN_IDENTITY, a team that matches your selected certificate, or switch to automatic provisioning. (in target 'HBuilder' from project 'HBuilder')
error: Provisioning profile \"PB_Development_20201118\" expired on Nov 18, 2021. (in target 'HBuilder' from project 'HBuilder')
** BUILD FAILED **
2021-11-20 04:25
DCloud_App_Array

DCloud_App_Array (作者)

回复 容若思雪 :
如需继续使用老版本证书签名请使用通过实名认证的邮箱将apk发送到service@dcloud.io,我们签名后通过邮件回复。
2021-11-18 15:16
容若思雪

容若思雪

回复 [已删除] :
同样面临你这个问题啊
2021-11-17 14:39
DCloud_App_Array

DCloud_App_Array (作者)

回复 nealtsiao :
老版本测试证书信息看这里:https://ask.dcloud.net.cn/article/36522
2021-09-06 16:22
nealtsiao

nealtsiao

回复 5***@qq.com :
你用的是哪一个版本的证书啊?我当时存错了证书信息,存的是andriod.keystore
2021-09-03 18:55
nealtsiao

nealtsiao

回复 DCloud_App_Array :
你好,我是用的老版本证书Test.keystore,现在需要申请高德定位的key,能否发一下证书的信息?邮箱:2134263733@qq.com
2021-09-03 18:54
OtakuTravel

OtakuTravel

怎么获取老版证书,我已经发过来了
2021-08-16 08:48