繁体   English   中英

我丢失了 .keystore 文件?

[英]I lost my .keystore file?

好的伙计们.. 长话短说,我正在一台我无法再访问的计算机上进行开发。 我能够检索源代码,但无法检索用于签署我的应用程序并将其发布到市场的 .keystore 文件(有多个更新)。 如果我想更新,我和我可怜的用户会不走运吗?

我知道用于签署密钥的密码(至少它可能是三个之一),那么我可以创建另一个吗? 必须有办法解决这个问题……硬盘驱动器出现故障怎么办?

面临同样的问题。 我试图通过删除的文件恢复工具来恢复它,但它失败了。 因此,别无他法:您应该发出另一个应用程序。

通常,密钥库上存在的唯一建议是:“始终备份它!”

现在可以不用担心,这里是重置 .JKS 文件的完整和最终步骤。

更新:由于它在游戏控制台帮助状态这里(滚动至底部),您现在应该已经之前(创建新.jks,转换为.pem),然后才填写与upload_cert和的.pem文件的形式做第3步随附的。 这将使您的支持过程更轻松、更快捷。

我成功地休息了我的钥匙

第1步

从您的Google Play 商店控制台下载UPLOAD CERTIFICATE (文件名 - upload_cert.der

下载upload_cert.der文件

第2步

转到此链接https://support.google.com/googleplay/android-developer/contact/key?hl=en并使用您的有效电子邮件 ID 填写申请表并上传文件 (upload_cert.der)。

填写申请表

步骤 3

现在您将从支持团队获得电子邮件,他们不需要您的 .JKS 文件,但这里的 .PEM 文件是电子邮件示例。

在此处输入图片说明

第四步

要将 .JKS 文件转换为 .PEM 文件,您只需下载KeyStore Explorer JKS 为 PEM

回复邮件后,等待 48 到 72 小时,您的密钥库填充将重置。

直到今天,丢失您的密钥将无法使用新版本更新您的应用程序。 在这种情况下,唯一的解决方案是发布一个具有新包名和密钥的新应用程序,并要求所有用户安装它。

从今天开始, Play管理中心中的应用签名密钥现在由 Google Play 安全管理,这意味着您只负责管理您的上传密钥。 如果您的上传密钥被盗用或丢失,Google 的开发者运营团队可以通过验证您的身份并重置您的上传密钥来提供帮助。 谷歌仍将使用相同的应用签名密钥重新签名,允许应用照常更新。

对于现有应用,它需要将您的应用签名密钥转移到 Google Play。 对于新应用,Google 可以生成您的应用签名密钥。 注册应用签名后,您就可以使用上传密钥对您的 APK 进行签名,Google 会使用该密钥来验证您的身份。 然后,他们将剥离该签名并使用应用签名密钥重新签署您的应用。

参考: Play 管理中心帮助 > 管理您的应用签名密钥

很长一段时间是可能的。

  1. 按照Android Studio 帮助中心中的说明生成新密钥。 它必须与任何以前的键不同。 或者,您可以使用以下命令行生成新密钥:

keytool -genkeypair -alias newalias -keyalg RSA -keysize 2048 -validity 9125 -keystore nameofkeystore.jks

此密钥必须是 2048 位 RSA 密钥并具有 25 年的有效期。

  1. 将该密钥的证书导出为 PEM 格式:

keytool -export -rfc -alias newalias -file upload_certificate.pem -keystore nameofkeystore.jks

然后上传这个 pem 文件并填写表格并将其提交到此站点 然后,一旦我们注册了新的上传密钥,您就会收到一封电子邮件。 仅接受来自 Play 管理中心帐户所有者的密钥重置请求

一切都很好。 您可以使用新的 jks 文件发布新版本的 apk。

如果您知道您的密钥库密码,您仍然没有关联的私钥来签署您的应用程序。 您也没有机会生成与您的公钥相对应的相同私钥。

因此:始终备份您的密钥库文件。 它与您的源代码一样重要。

如果您已为您的应用程序启用 Google Play 应用签名,则无需担心。

要检查您是否启用了 Google Play 应用签名,请转到 Google Play 控制台中的发布管理 -> 应用签名。

如果已启用,您可以通过填写支持表格联系 Google Play 支持,或者您也可以在此处选择与支持人员进行实时聊天: https : //support.google.com/googleplay/android-developer/answer/7218994? hl=en

向他们解释你的问题,他们会告诉你接下来的步骤,包括创建一个新的 2048 位 RSA 密钥库,有效期为 25 年,将密钥导出为 PEM 格式并通过电子邮件发送给他们。

要将密钥导出为 PEM 格式:

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

无需从Play商店中删除您的应用程序即可更新您的应用程序。 现在有可能,如果您丢失了密钥库或密钥库密码,则可以在2017年5月之后更新应用程序。 不要丢失希望您可以使用新的密钥库文件来更新您的应用程序,请在Playstore上参考此博客新的密钥库更新。如果您丢失了密钥库,请按照以下步骤编写apk并创建新的密钥库,我使用此步骤更新了我的应用。 您需要在Play商店控制台上启用Google Play应用签名

从漫长的日子里,我也为此寻找解决方案,但直到现在还没有成功。 如果您拥有应用 apk 的最新版本,则可以使用 jarsigner cmd 命令从中检索证书。 但是你需要一个私钥来更新。 Google Play 没有为此提供任何放松。

我已经使用 android studio 生成了签名的 apk,所以在“ key Store Path ”中我只是输入了一些没有扩展名的名字,然后填写这个弹出窗口并签署了应用程序。 在此处输入图片说明

下次发布应用程序时,我不记得创建它的路径和名称。

不知何故,我找到了默认位置“C:\\Program Files\\Java\\jdk1.8.0_45\\jre\\bin”:\\jre\\bin

在那个文件夹中按日期缩短,然后我尝试使用最近的文件,它对我有用。

注意:您应该记住密钥库密码和密钥密码。

现在有可能,2017 年 5 月之后,如果您丢失了密钥库或密钥库密码,您可以更新您的应用程序。 您无法恢复丢失的密钥库,但可以替换 Playstore 上的密钥库。 点击这里

应用签名流程:

您可以在选择加入 Google Play 应用签名之前或之后上传使用原始应用签名密钥签名的 APK。

如果您开始使用 Android App Bundle,则可以在生产中使用现有 APK 的同时在测试轨道中对其进行测试。 以下是该过程的工作原理:

  1. 为您的 app bundle 或 APK 签名并将其上传到您的 Play 管理中心。
  2. 根据您上传的内容,以下是签名过程的不同之处:

    • App bundle:Google 从您的 app bundle 生成优化的 APK,并使用应用签名密钥对其进行签名。
    • 使用上传密钥签名的 APK:Google 会验证并从 APK 中删除您的签名,然后使用应用签名密钥对 APK 进行签名。
    • 使用应用签名密钥签名的 APK:Google 会验证签名。 Google 向用户提供已签名的 APK。

必须有办法解决这个问题……硬盘驱动器出现故障怎么办?

我想补充一点,始终将密钥库的备份保存在云存储中,例如 Google Drive、Dropbox 或通过电子邮件发送给自己。

是的,您可以使用新密钥发布对现有应用程序的更新!

Google 现在允许您通过在 Google 支持中通过电子邮件/实时聊天请求重置新密钥来将新密钥上传到现有应用程序。

此过程需要 1-2 个工作日。

我遵循此过程并使用新密钥将更新上传到同一个应用程序。 Google Play 商店技术团队帮助我重置了之前的密钥。

现在有一个专门的表格和说明,用于丢失密钥库的情况。 Play 管理中心的帮助页面

丢失或泄露上传密钥?

如果您丢失了您的上传私有密钥,或者它已被泄露,您可以创建一个新密钥,然后让您的帐户所有者联系支持人员以重置密钥 联系支持人员时,请确保您的帐户所有者附上 upload_certificate.pem 文件。

在我们的支持团队注册新的上传密钥后,您会收到一封电子邮件,然后您可以更新您的密钥库并向 API 提供商注册您的密钥。

重要提示:重置上传密钥不会影响 Google Play 用于在将 APK 交付给用户之前对其重新签名的应用签名密钥。

生成新密钥和 PEM 证书的步骤:

 keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

(*此密钥必须是 2048 位 RSA 密钥并且有效期为 25 年。)

将该密钥的证书导出为 PEM 格式:

 keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM