我丢失了我的.keystore文件?

时间:2010-12-01 08:13:55

标签: android keystore android-sdk-2.1

好的朋友......长话短说,我正在一台我无法访问的计算机上开发。我能够检索源代码,但不能检索用于签署和发布我的应用程序到市场的.keystore文件(有几个更新)。如果我想要更新,我和我的可怜的用户是否运气不好?

我知道用于签名密钥的密码(至少它是三个中的一个),所以我可以创建另一个密码吗?必须有办法解决这个问题..硬盘驱动器失败了怎么办?

13 个答案:

答案 0 :(得分:72)

面临同样的问题。我试图通过删除文件恢复工具来恢复它,但它失败了。所以,没有其他办法:你应该发出另一个申请。

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

答案 1 :(得分:29)

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

从今天开始, Play控制台中的应用签名密钥现在由Google Play安全管理,这意味着您只负责管理上传密钥。如果您的上传密钥遭到入侵或丢失,Google的开发人员运营团队可以通过验证您的身份并重置上传密钥来提供帮助。 Google仍会使用相同的应用签名密钥重新签名,允许该应用照常更新。

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

参考: Play Console Help > Manage your app signing keys

答案 2 :(得分:26)

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

I successfully rest my KEY

<强>步骤1

Google Play商店控制台下载上传证书(文件名 - upload_cert.der

to download upload_cert.der file

<强>步骤-2

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

Fill the application form

<强>步骤-3

现在您将收到来自支持团队的电子邮件,他们不需要您的.JKS文件,但此处的.PEM文件是电子邮件样本。

enter image description here

<强>步骤4

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

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

答案 3 :(得分:11)

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

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

答案 4 :(得分:8)

有可能很长一段时间。

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

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

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

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

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

      然后上传此pem文件并填写表单并将其提交至this site。然后,一旦我们注册了新的上传密钥,您就会收到一封电子邮件。 仅接受来自Play控制台帐户所有者的重置重置请求

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

答案 5 :(得分:5)

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

答案 6 :(得分:4)

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

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

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

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

要将密钥导出为PEM格式:

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

答案 7 :(得分:2)

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

答案 8 :(得分:2)

我使用android studio生成了签名的apk,所以在&#34; 密钥存储路径&#34;我只是输入了一些没有扩展名的名称,并填写此弹出窗口并签署了应用程序。 enter image description here

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

我发现默认位置是&#34; C:\ Program Files \ Java \ jdk1.8.0_45 \ jre \ bin&#34; :\ jre \ bin

并且在该文件夹中按日期缩短,然后我尝试使用最近的文件,这对我有用。

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

答案 9 :(得分:2)

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

Google现在允许您将新密钥上传到现有应用,方法是让他们通过Google支持中的电子邮件/实时聊天重置该密钥。

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

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

答案 10 :(得分:0)

  

必须有办法解决这个问题......硬盘驱动器失败了怎么办?

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

答案 11 :(得分:0)

现在可能,2017年5月之后,如果您丢失了密钥库或密钥库密码,则可以更新您的应用。您无法恢复丢失的密钥库,但可以替换Playstore上的密钥库。 Click here

答案 12 :(得分:0)

现在有一个专门的表格和说明丢失密钥库的情况。来自Play Console's help page

<块引用>

丢失或泄露上传密钥?

如果您丢失了您的上传私人密钥,或者它已被泄露,您 可以create a new one,然后让您的帐户所有者contact support to reset the key。联系支持人员时,请确保您的 帐户所有者附上 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