Jac*_*zak 6 java android signing pkcs#12 cordova
我们正在开发Cordova应用程序,并且无法签署Android版本的应用程序.
使用命令
jarsigner -keystore keystore.p12 -storetype pkcs12 android-release-unsigned.apk 1
Run Code Online (Sandbox Code Playgroud)
给出以下例外
java.io.IOException: DerInputStream.getLength(): Redundant length bytes found
Run Code Online (Sandbox Code Playgroud)
来自OpenJDK中的这一行显然是为了修复CVE-2016-5546而添加的,虽然我不太了解加密来真正理解它.
使用openssl导出证书并从中创建新的p12工作正常,但更改签名,这意味着Play商店拒绝上传.
我们的密钥库来自另一家我们最初将应用程序开发外包给的公司.
任何jarsigner或keytool命令抛出相同的异常,我认为这是有意义的,因为它们都使用相同的Java lib
小智 5
我们遇到了同样的问题。我们发现 JDK 1.8.0_112 没有您所说的错误。所以我们是这样解决问题的:
首先我们使用以下命令()转换temp_keystore.p12
为:mycert.keystore
Java\jdk1.8.0_112\bin\keytool.exe
keytool -importkeystore -srckeystore temp_keystore.p12 -destkeystore mycert.keystore -srcstoretype pkcs12
Run Code Online (Sandbox Code Playgroud)
然后我们使用以下命令(Java\jdk1.8.0_112\bin\jarsigner.exe)
:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mycert.keystore ReadyForSigning.apk 1
Run Code Online (Sandbox Code Playgroud)
签署apk
。(1
命令末尾的“ ”是别名)
PS:从转换.p12
到.keystore
可能是没有必要的。
归档时间: |
|
查看次数: |
1905 次 |
最近记录: |