如何在Android Studio的Play商店中使用upload_cert.der?

Dav*_*tor 2 certificate google-play android-studio

我从Play商店下载了upload_cert.der文件。我将根证书添加到我的密钥库中就好了。但是Android Studio不允许我使用它,因为没有密码。Android Studio抱怨,在我进行构建之前,我必须输入密钥密码。

  1. 有没有办法从此upload_cert.der文件生成受密码保护的私钥?
  2. 有没有办法让Android Studio让我克服这个“错误”并进行构建?
  3. 我正在使用Windows,并且upload_cert.der文件已添加到Windows证书存储中。我是否可以在Android Studio外部对APK进行签名(即使我愿意留在工具中使用)?

我发现有人问这个问题,没有一个答案提到密码,只是解释了为什么在密钥库中存在多个错误类型的条目,等等。为清楚起见,我可以在自己创建的密钥库中创建密钥并输入密码,就可以了。在尝试添加任何类型的密钥之前,我会先删除别名。当Android Studio想要密钥的密码而没有密码时,我只是不知道如何使用Play商店中的.der文件!

如果我使用的密码只是随机的,这是确切的错误:无法从商店“ C:\ Users \ xxxx \ xxxx.jks”中读取密钥表示:受信任的证书条目不受密码保护,因此很显然没有一种以某种方式伪造的方式。

Nic*_*cue 5

您缺少的重要事实:

Google Play从不给您提供用于签名的密钥。它只会向您提供证书进行验证。

我将从您可能知道的基础知识开始。在公用密钥加密中,有一个专用密钥和一个公用密钥。只有签名的人才能拥有私钥。否则任何人都可以签名。任何人都可以拥有的公钥。他们可以使用它来检查签名是否有效。

upload_cert.der下载仅包含公共密钥。Google Play允许您下载进行验证的原因。您可以离线验证您的签名是否符合Play商店的期望。您可能永远不需要这样做。

Google为什么不给您签名密钥?

Google Play没有为您提供上传证书的私钥,原因有两个。

  1. Google没有您的上传密钥的私有部分!注册Google Play应用签名后,您创建了上传密钥的私钥部分。您从未将其提供给Google。Google拥有的全部都是公钥部分。
  2. 如果Google确实把它给了您,那么密钥将毫无价值。上传密钥的全部意义在于,即使黑客侵入您的Play控制台帐户,他们仍然无法上传新版本的应用程序。他们也将需要上传密钥。上载密钥表示Google Play知道该应用来自您。如果他们允许您从您的帐户下载签名密钥,那么黑客也可以下载它。那将是毫无价值的。

如何获得签名所需的上传密钥?

因此,现在您可能遇到的问题是“我如何获得签名所需的公钥?”。答案是“您创建它”。首次上传APK时,该APK是用密钥签名的(Google坚持要求使用该密钥)。它可能存储在您的Android Studio中。该密钥将成为您的上传密钥。查找保存位置。

如果我丢失了怎么办?

现在您可能在一个不知道最初使用密钥在哪里的地方。这对Google Play应用签名非常有用。如果您自己对应用程序进行签名,并且丢失了签名密钥,那么您将不得不创建一个新的应用程序。但是,通过Google Play应用签名,您可以联系Play控制台支持,他们可以为您提供帮助。该过程在帮助页面上

查看标题为“创建新的上传密钥”的部分。请注意,步骤1是创建密钥。Google仍然没有。