【问题标题】:How do I use upload_cert.der from play store in Android Studio?如何在 Android Studio 的 Play 商店中使用 upload_cert.der?
【发布时间】:2018-12-06 17:33:38
【问题描述】:

我从 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”读取密钥表示:受信任的证书条目不受密码保护 所以很明显,没有办法以某种方式伪造它。

【问题讨论】:

    标签: android-studio google-play certificate


    【解决方案1】:

    你遗漏的重要事实:

    Google Play 绝不会为您提供用于签名的密钥。它只会为您提供用于验证的证书。

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

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

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

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

    1. Google 没有您上传密钥的私有部分!您在注册 Google Play 应用签名时创建了上传密钥的私钥部分。你从来没有把它交给谷歌。 Google 拥有的只是公钥部分。
    2. 如果 Google 确实将其提供给您,那么该密钥将毫无价值。上传密钥的全部意义在于,即使黑客侵入了您的 Play 管理中心帐户,他们仍然无法上传您应用的新版本。他们也需要上传密钥。上传密钥意味着 Google Play 知道该应用来自您。如果他们让您从您的帐户下载签名密钥,那么黑客也可以下载它。那它就一文不值了。

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

    所以现在您可能遇到的问题是“我如何获得签名所需的公钥?”。答案是“你创造它”。当您第一次上传您的 APK 时,该 APK 已使用密钥签名(Google 坚持这样做)。它可能存储在您的 Android Studio 中。该密钥成为您的上传密钥。找到你保存它的地方。

    万一我丢了怎么办?

    现在您可能不知道您最初使用的密钥在哪里。这是 Google Play 应用签名的伟大之处。如果您自己对应用程序进行签名并丢失了签名密钥,您将被卡住,您必须创建一个新应用程序。但是通过 Google Play 应用签名,您可以联系 Play 管理中心支持,他们可以为您提供帮助。 The process is on the help page.

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

    【讨论】:

    • 我在本地创建的上传密钥是公钥吗?我还以为是私钥呢,
    猜你喜欢
    • 1970-01-01
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多