微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.io.IOException:无效的密钥库格式/无法识别的密钥库格式使用旧的Android密钥库时,请以指定的类型加载它

如何解决java.io.IOException:无效的密钥库格式/无法识别的密钥库格式使用旧的Android密钥库时,请以指定的类型加载它

我试图用Android Studio 4.0.1(我一年前成功签署过)对旧的Android应用程序进行了签名,看来密钥库无法再打开了。 我仔细检查了凭据,但我认为它不是来自此。 我还在Internet上使用“无效的密钥库格式”检查了各种答案,但在这里没有运气。

android JRE引发此错误

$ /Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/jre/bin/keytool -list -keystore android.keystore -v
erreur keytool : java.io.IOException: Invalid keystore format
java.io.IOException: Invalid keystore format
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:663)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56)
    at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224)
    at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
    at java.security.KeyStore.load(KeyStore.java:1445)
    at sun.security.tools.keytool.Main.doCommands(Main.java:823)
    at sun.security.tools.keytool.Main.run(Main.java:366)
    at sun.security.tools.keytool.Main.main(Main.java:359)

$ /Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home/jre/bin/java -version
openjdk version "1.8.0_242-release"
OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
OpenJDK 64-Bit Server VM (build 25.242-b3-6222593,mixed mode)

与操作系统之一完全相同的消息:

$ keytool -list -keystore android.keystore -v
keytool error: java.security.KeyStoreException: Unrecognized keystore format. Please load it with a specified type
java.security.KeyStoreException: Unrecognized keystore format. Please load it with a specified type
    at java.base/java.security.KeyStore.getInstance(KeyStore.java:1809)
    at java.base/java.security.KeyStore.getInstance(KeyStore.java:1680)
    at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:936)
    at java.base/sun.security.tools.keytool.Main.run(Main.java:417)
    at java.base/sun.security.tools.keytool.Main.main(Main.java:410)

$ java --version
openjdk 14.0.2 2020-07-14
OpenJDK Runtime Environment (build 14.0.2+12-46)
OpenJDK 64-Bit Server VM (build 14.0.2+12-46,mixed mode,sharing)

我认为我过去已经遇到了这个问题,必须恢复到旧版本的JRE才能继续正确打开我的密钥库(我现在正在尝试的解决方案)。

  • 这是版本之间更改的认算法的问题吗?如果是,我如何检查我的密钥库仍然有效并且使用了正确的算法(因为不幸的是我没有创建它)?
  • 我需要以某种方式迁移密钥库吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。