使用不同的证书错误签名,但他们使用相同的密钥库
Posted
技术标签:
【中文标题】使用不同的证书错误签名,但他们使用相同的密钥库【英文标题】:Signed with a different certificate error but they are using the same keystore 【发布时间】:2014-08-07 22:11:11 【问题描述】:所以我请了一位客户来给我一个应用程序,让我对其进行一些小修改。但是,在我进行修改并签名后,使用以前开发人员的密钥库,它不会上传到市场。
You uploaded an APK that is signed with a different certificate to your previous APKs. You must use the same certificate. Your existing APKs are signed with the certificate(s) with fingerprint(s): It then goes to show that the SHA1 are different
如果我有密钥库,我可以不更新应用程序吗?
【问题讨论】:
【参考方案1】:看起来您没有使用相同的密钥库。您可以使用密钥库工具轻松检查这一点。
检查这个 SO 问题:How to check certificate name and alias in keystore files?
如果签名证书与原始证书不匹配,则无法更新现有应用(无法解决此问题)
【讨论】:
SHA1 是否特定于每个密钥库或每个开发人员的 PC? 不,您可以使用任何计算机上的相同密钥库进行签名。我怀疑您没有像您认为的那样正确的密钥库。 这可能是问题所在。我想我们不确定。我所知道的是我们有一个带有别名和密码的密钥库,一切似乎都工作得很好,但是当我们上传它时,SHA1 是不同的......我想我们只能说它不对,因为我们没有访问权限给之前的开发者。 您可以确认当前的证书信息(看我原来的答案)。 @Bogger 我做了列表和别名列表,它给出的只是 MD5 而不是 SHA1【参考方案2】:当您拥有匹配的密钥库和匹配的密码时,您应该能够上传。如果您尝试使用与原始密钥库不同的密钥库上传应用程序,您就会遇到问题。
如果原件丢失,则无法更新现有的。您必须删除旧应用程序并将另一个应用程序加载到 Play 商店。这当然会扰乱当前用户并引起混乱。据我所知,这是次要案例中的解决方案。
【讨论】:
@jcaruso 我已经签署并加载了来自不同计算机的更新。如果您正在传递密钥库,并且输入了正确的密码,那么一切都应该正常。以上是关于使用不同的证书错误签名,但他们使用相同的密钥库的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Google Play 应用签名上传证书更新发布 APK(使用原始密钥库)