代码之家  ›  专栏  ›  技术社区  ›  TheUnreal

“你的Android应用捆绑包使用了密钥太弱的上传证书。”

  •  2
  • TheUnreal  · 技术社区  · 8 年前

    在使用Android Studio Canary创建应用包后,当我试图上传应用包时,我在Google Play开发者控制台中收到了以下消息:

    你的Android应用捆绑包使用了一个上传证书,其密钥为 太弱了。

    我找不到任何关于这个的文件。什么是“弱”证书?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Ruslan Leshchenko    7 年前

    我用团结来打造我的游戏。我也有同样的问题。我是这样解决的:

    • 在谷歌控制台中删除草稿

    • 用我的上传密钥建立一个APK

    • 将APK上传到谷歌控制台

    • 用这个上传密钥构建AAB

    • 现在上传AAB文件,它神奇地工作了

    说到安卓,我完全不知道自己在做什么。我尝试了以上方法,它对我有效,所以我分享,希望它也对你有效:D

        2
  •  1
  •   will    5 年前

    我在google play控制台中也发现了同样的错误消息,当我第一次上传一个用现有应用程序签名的新应用程序时 keystore 钥匙

    为了试图理解为什么我的密钥不安全,我找到了谷歌对签名密钥的要求。 Key requirements

    谷歌问,关键是:

    • 必须是2048位或更多的RSA密钥。
    • 不支持小于2048位的DSA、EC和RSA密钥。

    可以使用该程序进行检查 keytool . Using keytool

    • keytool -list -alias <your-key-name> -keystore <path-to-production-keystore>

    在我这么做之后,我得到一个错误,说我的jkskey被认为是一个安全风险,我可以看到证书只有1024位。

    The certificate uses the SHA1withRSA signature algorithm which is considered a security risk. This algorithm will be disabled in a future update.
    The certificate uses a 1024-bit RSA key which is considered a security risk. This key size will be disabled in a future update.
    The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore x.keystore -destkeystore x.keystore -deststoretype pkcs12".
    

    然后我做了两件事:

    • 使用警告消息中的推荐函数更新密钥库。
    • 在android studio中添加了一个新别名。

    注意:如果执行jks更新并保持src和dest相同,它也会备份旧密钥。

    Migrated "x.keystore" to PKCS12. The JKS keystore is backed up as "x.keystore.old".
    
        3
  •  1
  •   Karthikeyan Ganesan    4 年前

    使用 SHA256withRSA 因为sha1是旧证书

    $ keytool -genkey -v -keystore signed.keystore -alias name_app -keyalg RSA -sigalg SHA256withRSA -keysize 2048 -validity 10000
    

    然后检查指纹

    keytool -list -alias name_app -keystore signed.keystore
    

    棒 极 了现在,您可以在没有任何警告的情况下获得标准证书

        4
  •  0
  •   Alonso Dominguez    7 年前

    我刚才通过以下链接解决了这个问题。(安卓工作室)

    • 签署你的应用( https://developer.android.com/studio/publish/app-signing )

    • 按照第节中的说明进行操作 生成密钥和密钥库 生成一个包。记住 构建类型 一定是 release . (不要使用Build/Build Bundles/APK。使用上述链接中的步骤5或Build/Generate signed Bundles/APK…)

    • 返回Google Play控制台上传 YourProject/app/release/release/aap.aab .
        5
  •  0
  •   ronelioolvr    5 年前

    我也有同样的问题,因为我使用的是RSA 1024,要求至少是2048。更改后,签名已成功上载。

    第6步,按键: https://developer.android.com/studio/publish/app-signing#generate-key