Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >java.io.IOException:无效的密钥库格式

java.io.IOException:无效的密钥库格式
EN

Stack Overflow用户
提问于 2009-06-27 11:43:47
回答 11查看 149.2K关注 0票数 48

有人知道怎么解决这个问题吗?我试了很多方法,但都不管用。

当我点击更多详细信息时,我会得到如下信息:

代码语言:javascript
运行
AI代码解释
复制
at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
atsun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)
at java.security.KeyStore.load(Unknown Source)
at com.sun.deploy.security.RootCertStore$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.deploy.security.RootCertStore.loadCertStore(Unknown Source)
at com.sun.deploy.security.RootCertStore.load(Unknown Source)
at com.sun.deploy.security.RootCertStore.load(Unknown Source)
at com.sun.deploy.security.ImmutableCertStore.load(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
at sun.plugin.security.PluginClassLoader.getPermissions(Unknown Source)
at java.security.SecureClassLoader.getProtectionDomain(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadCode(Unknown Source)
at sun.applet.AppletPanel.createApplet(Unknown Source)
at sun.plugin.AppletViewer.createApplet(Unknown Source)
at sun.applet.AppletPanel.runLoader(Unknown Source)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
EN

回答 11

Stack Overflow用户

发布于 2011-08-13 13:05:55

在复制/传输过程中,您可能会损坏文件。

你在用maven吗?如果您使用"filter=true“复制密钥库文件,则可能会损坏该文件。

请检查文件大小。

票数 91
EN

Stack Overflow用户

发布于 2016-03-08 07:58:14

也许maven编码你的KeyStore,你可以设置maven来解决这个问题。

代码语言:javascript
运行
AI代码解释
复制
<build>
    ...
    <resources>
        <resource>
            ...
            <!-- set filtering=false to fix -->
            <filtering>false</filtering>
            ...
        </resource>
    </resources>
</build>
票数 43
EN

Stack Overflow用户

发布于 2016-01-05 21:39:14

(重新)安装最新的JDK (例如Oracle's)为我修复了它。

在安装最新的JDK之前,当我在Terminal.app中执行以下命令时:

代码语言:javascript
运行
AI代码解释
复制
keytool -list -keystore $(/usr/libexec/java_home)/jre/lib/security/cacerts -v

其结果是:

代码语言:javascript
运行
AI代码解释
复制
keytool error: java.io.IOException: Invalid keystore format
java.io.IOException: Invalid keystore format
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:650)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:55)
    at java.security.KeyStore.load(KeyStore.java:1445)
    at sun.security.tools.keytool.Main.doCommands(Main.java:792)
    at sun.security.tools.keytool.Main.run(Main.java:340)
    at sun.security.tools.keytool.Main.main(Main.java:333)

但是,在安装最新的Oracle JDK并重启终端后,执行以下命令:

代码语言:javascript
运行
AI代码解释
复制
keytool -list -keystore $(/usr/libexec/java_home)/jre/lib/security/cacerts -v

结果如下:

代码语言:javascript
运行
AI代码解释
复制
Enter keystore password:  

这表明path上的密钥工具可以访问密钥库。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1052700

复制
相关文章

相似问题

添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档