cbd*_*dev 24 android keystore google-play
您好,我正在尝试注册“让 Google Play 管理您的应用签名密钥”,但是当我按照步骤操作时,出现此错误:
从我在其他答案中看到的情况来看,谷歌曾经提供了另一个名为的参数--encryptionkey,但不再给出,现在他们的教程如下所示:
我怀疑错误来自--rsa-aes-encryption参数......但这只是一个猜测......
这是错误的文本版本,可以更轻松地复制:
MacBook-Pro Desktop % java -jar pepk.jar --keystore=cbk.keystore --alias=release --output=cbk1 --rsa-aes-encryption --encryption-key-path=encryption_public_key.pem
Enter password for store 'cbk.keystore':
Enter password for key 'release':
Error: Unable to export or encrypt the private key
java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/NONE/OAEPWithSHA1AndMGF1Padding
at java.base/javax.crypto.Cipher.getInstance(Cipher.java:574)
at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.encryptPrivateKeyWithCkmRsaAesKeyWrapEncryption(ExportEncryptedPrivateKeyTool.java:284)
at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.run(ExportEncryptedPrivateKeyTool.java:213)
at com.google.wireless.android.vending.developer.signing.tools.extern.export.ExportEncryptedPrivateKeyTool.main(ExportEncryptedPrivateKeyTool.java:165)
Run Code Online (Sandbox Code Playgroud)
非常感谢你的帮助 !
小智 12
只需从此处下载最新的“ready for use jdk” https://jdk.java.net ,然后:
使用下载的 java.exe 位置,例如 e:\download\jdk-20.0.2\bin\java.exe -jar pepk.jar --keystore=cbk.keystore --alias=release --output=cbk1 --rsa-aes -加密--加密密钥路径=加密_公共_密钥.pem
Nee*_*eel 12
你需要做两件事来解决这个问题:
1.使用Java JDK 21
2. 编辑私钥路径以包含文件名:private_key.pem
我使用的是 Mac,我按照以下步骤解决了这个问题:
从这里下载“ready for use jdk 21” https://jdk.java.net
将其移至/Library/Java/JavaVirtualMachines文件夹
JAVA_HOME使用新路径更新了配置文件
nano ~/.zshenv
# ADD THIS AND SAVE
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-21.0.1.jdk/Contents/Home
source ~/.zshenv
Run Code Online (Sandbox Code Playgroud)
还在私钥路径中添加了私钥文件名。
我的最终命令如下所示:
java -jar /Users/me/keys/Google-Play-Signing/pepk.jar --keystore=/Users/me/keys/app-release-key.keystore --alias=app --output=/Users/me/keys/Google-Play-Signing/app-key/app_private_key.pem --rsa-aes-encryption --encryption-key-path=/Users/me/keys/Google-Play-Signing/encryption_public_key.pem
Run Code Online (Sandbox Code Playgroud)
就是这样。
我也面临这个问题。
你需要做的是:
set JAVA_HOME="d:\openjdk11"set PATH=%JAVA_HOME%\bin;%PATH%java -jar pepk.jar --keystore=yourkeystore.keystore --alias=youralias --output=d:\newprivatekey --rsa-aes-encryption --encryption-key-path=encryption_public_key.pem更改--output为绝对路径。就我而言,我会将输出密钥存储在我的 D: 存储中。