java - 创建 keystore 时出错 => 线程 "main"java.io.DataInp

我用来创建 keystore 的源代码,

import java.io.File;
import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.cert.Certificate;

public class MainClass {

public static void main(String args[]) throws Exception {
String pass = "wshr.ut";
String alias = "mytest";
String name = "mykeystore";

FileInputStream in = new FileInputStream(name);
KeyStore ks = KeyStore.getInstance("JKS");
ks.load(in, pass.toCharArray());

Certificate c = ks.getCertificate(alias);
in.close();
System.out.println(c);

}
}

运行时出错:

Exception in thread "main" java.io.EOFException
at java.io.DataInputStream.readInt(Unknown Source)
at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)
at java.security.KeyStore.load(Unknown Source)
at MainClass.main(MainClass.java:17)

你能给我任何想法或解决方案来解决这个问题吗?

最佳答案

我只想发布我对 future 的回答, 我遇到了同样的问题并找到了解决方案, 你为 fileInputStream 传递的路径必须是 keyStore inside java 的路径在我的情况下我在 ubuntu 20.04 和 java 11 路径如下:“/usr/lib/jvm/java-11-openjdk-amd64/lib/安全/证书” 如果您在 Windows 上,路径将是:“C:/Program Files/Java/jre1.8.0_101/lib/security/cacerts”

还要确保密码通常是默认密码,类似于以下单词:“changeit”

关于java - 创建 keystore 时出错 => 线程 "main"java.io.DataInputStream.readInt 处的 java.io.EOFException 异常(未知来源),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17216477/

相关文章:

database - 是否有任何工具可以从数据库模式的 json 表示自动生成 ERD 图?

nginx - 如何替换 HTTP 请求 URI 中的特殊字符?

linux - 为什么我得到数据大小大于 mss 的数据包?

css - 使用渐变生成饱和度/亮度蒙版

macos - 运行 make 时如何修复 ranlib/libtool 错误

c++-cli - 导出 C++/CLI native 类 (C4679)

android-layout - 在滑动选项卡中水平滚动 : android

python - 在 python 解释器和脚本文件中运行时的不同结果

json - 将 JSON 数据加载到大查询中时出错 : flat value specified

python - 从 Python 中的角度集生成多边形?