【问题标题】:Can I generate keystore from jks or pem file我可以从 jks 或 pem 文件生成密钥库吗
【发布时间】:2023-04-01 09:30:01
【问题描述】:

大家好,我在尝试更新我的 Android 应用时遇到了一些问题:

  • 首先我丢失了我的密钥库密码,我通过联系谷歌支持解决了它并请求重置它。
  • 然后我遇到了这个问题:

“您的 Android App Bundle 已使用错误的密钥进行签名。请确保您的应用程序包已使用正确的密钥进行签名,然后重试。您导入的捆绑应用程序通常应使用与指纹关联的证书进行签名”

所以我的问题是我是否可以使用我用来生成另一个密钥库的 .pem 或 keystore.jks 具有与谷歌重置我的密钥库密码相同的手指 SHA1

如果有人可以提供帮助,请提供任何其他解决方案

只是为了澄清这是我想更新我的应用程序的第二个版本(该应用程序已经在应用商店中)

【问题讨论】:

    标签: android-studio keystore google-play-console signed-apk rsa-key-fingerprint


    【解决方案1】:

    如果您已重置上传密钥,则您必须已创建密钥库作为该操作的一部分。从现在开始,您应该使用该密钥库为您的应用签名。

    您无法从 pem 文件重新创建密钥库,但 jks 文件密钥库,因此请在您的签名配置中引用此文件。

    【讨论】:

    • 这是上传时的问题,说指纹sha1不一样
    • 如何使用 jks 文件作为我的密钥库?因为当我试图把它放在我的签名上时,它说格式不正确
    • 我很困惑。一方面你说你可以签名上传但是指纹不正确,但另一方面你说jks的格式不正确,如果是这样你怎么签名呢?转到 Play 管理中心(“应用程序完整性”页面)并检查应用程序上传密钥的 SHA1 是否与密钥库中的相同。如果不是,请让 Google Play 使用您正在使用的密钥库中的证书重置您的密钥。
    • 所以当我尝试用他们的密钥库签名时。 txt 我得到了不同指纹的错误,所以现在我尝试用 .jks 签名,但格式无效
    【解决方案2】:

    按照此过程生成一个新的 .jks 文件,然后生成一个具有相同指纹的 .pem 文件。

    首先在AS打开终端,执行命令生成新的.jks文件:

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

    上面你可以使用任何你想要的别名属性,这里是“上传”(注意它的某处)。在执行过程中,终端会要求您输入新密码、姓名和所有其他内容。这些信息将写入您的 .jks 文件中,因此也将它们写下来以供将来参考。

    然后您可以创建新的 .pem 文件,并将其发送到 Google 平台进行重置:

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

    注意别名参数...您必须使用上述参数...您可以将其留给“上传”。 然后您可以将其发送给 Google。

    如果要检查 jks 和 .pem 文件的指纹,请使用:

    keytool -list -v -keystore keystore_something.jks -alias upload -storepass inputValue -keypass inputValue

    keytool -printcert -file upload_certificate.pem

    您会看到它们匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 1970-01-01
      • 2011-01-29
      • 2022-08-11
      • 1970-01-01
      • 1970-01-01
      • 2013-12-16
      相关资源
      最近更新 更多