我正在运行PlayFramework 2应用程序。该应用程序将客户端身份验证的SSL会话构建到第二台服务器。为此,我将Java Keystore文件存储在资源目录中。在我当地的盒子上一切运行良好。接下来,我创建一个dist包,用于上传到Cloud Foundry,它实际上构建了一个带有大量Jars的war文件。知道如何在编译成Jar并上传到CloudFoundry之后如何从我的java代码访问Keystore?任何方向将不胜感激。这是当前的代码段。
最佳,
SR
//READS THE JAVA KEYSTORE FILE FROM A RELATIVE LOCATION
File clientKS = new File("resource/devportal.jks");
//SET CONNECTION PARAMS
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type","application/json");
con.setDoOutput(true);
con.setSSLSocketFactory(getFactory(clientKS, passphrase.toCharArray()));
答案 0 :(得分:1)
假设除了使用java.io.File之外没有其他方法,你可能想尝试通过将它放在应用程序的类路径中并执行类似
的操作来获取它。AnyClassOfYourApp.class.getResource("devportal.jks").getFile()
答案 1 :(得分:0)
已经有一段时间了,但试试这个:
//TESTING BY USING INCLUDED KEYSTORE IN JAR FILE
String ksPath = "/res/devportal.jks";
URL jksURL = PostNvp.class.getResource(ksPath);
File jksStore = new File(jksURL.toURI());
//TESTING
PostNvp是我的java类PostNvp.java,其中包含此代码段。