使用Java.io.file时,每当我试图从中读取证书时,它总是指向错误的路径
每次我尝试在下访问我的证书时,我都尝试使用文件IO读取证书使用Java.io.file时,每当我试图从中读取证书时,它总是指向错误的路径,java,resources,keystore,java-io,jsse,Java,Resources,Keystore,Java Io,Jsse,每次我尝试在下访问我的证书时,我都尝试使用文件IO读取证书 testApp/src/main/resources -> cert 它总是读 X:\workspace1\testApp\target\classes\cert\test.p12 这是我正在使用的代码,它总是使用空指针 // String fileName = "config/sample.txt"; ClassLoader classLoader = App2.class.getClassLoader();
testApp/src/main/resources -> cert
它总是读
X:\workspace1\testApp\target\classes\cert\test.p12
这是我正在使用的代码,它总是使用空指针
// String fileName = "config/sample.txt";
ClassLoader classLoader = App2.class.getClassLoader();
File file = new File(classLoader.getResource("cert/test.p12").getFile());
FileInputStream fm = new FileInputStream(file);
KeyStore ks = KeyStore.getInstance("PKCS12");
try {
ks.load(fm, "test".toCharArray());
}
catch(Exception e) {
e.printStackTrace();
}
Key key = ks.getKey("test", "test".toCharArray());
Certificate cert = ks.getCertificate("test");
PublicKey publicKey = cert.getPublicKey();
System.out.println("Public key");
System.out.println(Base64.getEncoder().encodeToString(publicKey.getEncoded()));
fm.close();
我想阅读此证书以提取公钥或私钥。这对我很有效
File file = new File(classLoader.getResource("./cert/test.p12").getFile());
资源不是文件。使用
getResourceAsStream()
amd删除所有文件*
classes.NB使用后需要关闭输入流。