gpt4 book ai didi

Windows 2003 Server 中的 java.io.IOException key 大小太大

转载 作者:行者123 更新时间:2023-11-30 05:05:45 24 4
gpt4 key购买 nike

我在 Ubuntu 中的 Netbeans 中创建了一个使用 Java keystore 的 Java 项目。当我在 Ubuntu 中运行 jar 文件时没有问题并且工作正常。当我在 Windows 2003 服务器中运行相同的 jar 文件时,出现以下错误

java.io.IOException: Keysize too big
at sun.security.JavaKeyStore.engineLoad
at sun.security.provider.JavaKeyStore$JKS.engineLoad
at java.security.KeyStore.load

在网上搜索后,我发现这是因为内存不足错误。但尝试了一些修复。什么都不起作用。关于如何解决这个问题的任何想法。

看起来像是一些环境问题。 keystore 文件是在 Linux 中使用 keytool 创建的。如果我在 Windows 中使用 keytool 来列出这样的键$keytool -list -keystore 文件

我收到 keytool java.io.IOException Keysize 太大。

如果我在 Windows 中创建 keystore ,应用程序中不会出现错误,但问题是我必须使用相同的 keystore 。它有公钥和私钥。相同的 keystore 文件在 Linux 中完美运行。

最佳答案

在某些时候,JavaKeyStore.engineLoad 方法正在执行类似的操作(以下代码片段来自 OpenJDK ):

// Read the private key
try {
entry.protectedPrivKey = new byte[dis.readInt()];
} catch (OutOfMemoryError e) {
throw new IOException("Keysize too big");
}

令我惊讶的是,它捕获了 OutOfMemoryError 并将其作为 IOException 重新抛出...好吧,这是他们的代码。

因此,错误来自于尝试创建真正的大字节数组。我怀疑,实际的 key 有那么大,所以在我看来,输入文件要么已损坏,要么被误解,因此该方法尝试使用不是 key 实际大小(以字节为单位)的值创建该数组。

关于Windows 2003 Server 中的 java.io.IOException key 大小太大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5142396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com