【问题标题】:Android certificate is expiredAndroid 证书已过期
【发布时间】:2014-03-13 22:13:33
【问题描述】:

我目前在签署我的应用程序时收到一条错误消息,说证书已过期(不是调试证书)。 (我知道这很令人惊讶,因为 Android 证书应该可以使用很多年!)。 我无法创建新证书,因为在 PlayStore 上更新我的 apk 时出现错误(apk 的证书必须与前一个相同)

是否可以更新我的密钥库?

唯一的可能是创建一个新的应用程序吗?

【问题讨论】:

标签: android certificate keystore google-play


【解决方案1】:

也许(但我从未测试过)您可以使用相同的一对公钥/私钥重新生成证书。如果它不起作用,不幸的是我认为您将不得不生成一个新证书。不要忘记添加带有大量天数的-validity <valdays> 选项。您还必须按照in this blog post 的说明更改包名称。

更新

根据@KIDdAe 评论(见下文),Google 会验证证书的 SHA1 指纹,而不仅仅是使用公钥的证书签名。因此,使用相同的密钥重新创建新证书是没有用的,因为该新证书的 SHA1 将与初始证书不同。

【讨论】:

  • 这行不通。新的(扩展的)证书将具有不同的公钥。
  • 是的,如果您使用的是 android 文档中的命令行。我不知道是否可以使用 keytool 完成,但可以使用相同的密钥创建新的自签名证书(例如使用 OpenSSL)
  • Google 测试证书的SHA1 指纹,以查看应用是否使用正确的指纹进行签名。即使我能够使用旧密钥生成它,SHA1 会改变吗?
  • 如果您使用旧密钥签名,您仍然无法发布,因为密钥已过期。
  • @KIDdAe 好的,检查了完整的证书,而不仅仅是公钥和签名。因此,必须生成具有新密钥的新证书。感谢您提供此信息,我更新了我的答案。
猜你喜欢
  • 2018-02-24
  • 2016-09-21
  • 2020-09-21
  • 1970-01-01
  • 2022-06-29
  • 2016-12-22
  • 2020-09-18
  • 2016-08-09
  • 2021-12-26
相关资源
最近更新 更多