谷歌商城上传app证书的密钥强度太低

有个问题想请教下,上传应用到谷歌play,提示 “Android App Bundle 所使用的上传证书的密钥强度太低”,有什么解决方法吗?

可以尝试打成apk包继续上架,不要使用aab后缀的google新方式上架。希望这些信息对您有所帮助。

该回答引用ChatGPT
这个问题是因为谷歌要求上传应用的证书必须满足一定的安全强度,如果证书的密钥强度太低,就会出现这个提示。为了解决这个问题,你需要重新生成一个符合要求的证书。
以下是具体的步骤:
1. 打开终端或命令行窗口,进入到你的Java JDK的bin目录下。
2. 输入以下命令生成一个2048位的RSA密钥对:

keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -validity 10000

这里的“mykey”是你的密钥别名,可以自己定义。
3. 输入以下命令导出证书:

keytool -export -alias mykey -file mykey.crt

这里的“mykey”是你的密钥别名,可以自己定义。
4. 将生成的证书上传到谷歌Play Console中。
在上传应用的时候,选择“使用现有密钥”选项,然后上传你刚才生成的证书。
如果你是使用Android Studio进行应用开发的,可以在gradle.properties文件中添加以下代码:

android.injected.signing.store.file=mykey.jks
android.injected.signing.store.password=your_password
android.injected.signing.key.alias=mykey
android.injected.signing.key.password=your_password

这里的“mykey.jks”是你的密钥文件名,可以自己定义;“your_password”是你的密钥密码,也可以自己定义。
然后在上传应用的时候,选择“使用Android Studio签名配置”选项即可。
希望这个解决方案能够帮助到你。

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
这个问题通常是因为您上传的密钥生成时使用的 RSA 密钥强度不足 2048 位或 ECC 密钥强度不足 256 位。

要解决此问题,您可以生成一个新的 RSA 密钥对或 ECC 密钥对。 该密钥对应该具有足够的强度,以满足 Google Play Console 的要求。

下面是 Python 代码生成强度为 2048 的RSA 密钥对:

from Crypto.PublicKey import RSA
from Crypto import Random

random_generator = Random.new().read
key = RSA.generate(2048, random_generator)
private_key = key.export_key()
public_key = key.publickey().export_key()

生成 ECC 密钥对的代码如下:

from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives import serialization

private_key = ec.generate_private_key(ec.SECP256R1())
private_key_bytes = private_key.private_bytes(
    serialization.Encoding.PEM,
    serialization.PrivateFormat.PKCS8,
    serialization.NoEncryption())

public_key_bytes = private_key.public_key().public_bytes(
    serialization.Encoding.PEM,
    serialization.PublicFormat.SubjectPublicKeyInfo)

生成密钥对后,使用生成的私钥作为上传密钥即可。 请确保您的密钥是安全存储的,并不会泄露。

希望能对您有所帮助。
如果我的回答解决了您的问题,请采纳!

Google Play 现在要求上传应用时必须使用密钥长度至少为 2048 位的密钥。如果您使用的是旧版的密钥,其长度可能不足 2048 位,因此会提示密钥强度过低的错误。要解决这个问题,您可以按照以下步骤操作:

  1. 生成新的密钥。您可以使用 JDK 中的 keytool 工具生成新的密钥。例如,在 Windows 上,可以使用以下命令生成一个新的密钥:
keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -validity 10000
  1. 该命令将生成一个名为 mykey 的别名为 RSA 的密钥,密钥长度为 2048 位,有效期为 10000 天。

导出证书。使用以下命令将密钥导出到一个 keystore 文件中:

keytool -export -alias mykey -file mykey.crt -keystore mykeystore.jks

这将生成一个名为 mykey.crt 的证书文件,其中 mykeystore.jks 是包含密钥的 keystore 文件的名称。

  1. 使用新的密钥上传应用。使用新的密钥重新签名应用,然后上传到 Google Play。

请注意,生成新的密钥后,您需要在 Google Play 控制台中重新配置您的应用程序,并使用新的密钥重新签名您的应用程序。如果您使用了 Google Play 签名密钥,您可能需要在发布应用程序时重新生成它。

在任何情况下,生成新的密钥并重新签名应用程序都是一个安全的做法,因为它有助于保护您的应用程序免受恶意攻击。

引用chatGPT作答,这个错误提示意味着您上传应用程序时使用的数字证书的密钥强度不足,可能会导致应用程序的安全性受到威胁。为了确保您的应用程序的安全性,您需要使用更强的密钥来签署您的应用程序。

下面是一些可能的解决方法:

1.生成一个新的密钥:您可以使用较高的密钥强度来生成一个新的数字证书,然后使用该证书重新签署您的应用程序。Google Play Console 支持 2048 位及以上的 RSA 密钥和 ECC 密钥。

2.更新现有的密钥:如果您已经有一个现有的数字证书,请确保它符合 Google Play Console 要求的最低密钥强度。如果不是,请使用该证书重新签署您的应用程序。

3.咨询数字证书提供商:如果您遇到了问题,可以向您的数字证书提供商寻求帮助。他们可以为您提供关于如何生成更强的密钥的建议,并帮助您重新签署您的应用程序。

总之,确保您使用的数字证书符合 Google Play Console 的要求,这是保护您应用程序安全的重要步骤。