2012-10-17 61 views
0

我正在运行PlayFramework 2应用程序。应用程序为第二台服务器构建一个客户端认证的SSL会话。为了达到这个目的,我将Java Keystore文件存储在一个资源目录中。我的本地盒子上的一切都运行良好。接下来,我创建了一个dist包,用于上传到Cloud Foundry,它基本上用一堆Jars构建了一个war文件。任何想法,一旦它被编译成Jar并上传到CloudFoundry,我如何从我的Java代码访问Keystore?任何方向将不胜感激。这是当前的代码片段。添加和访问资源文件到Play Framework应用程序

最佳,

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())); 

回答

1

假设没有其他办法,而不是使用的java.io.File,你可能想通过把它的类路径,试图让阿霍德它您的应用程序和不喜欢

AnyClassOfYourApp.class.getResource("devportal.jks").getFile() 
+0

感谢您的提示。我会尝试并报告回来。 – SRosonina

+0

@SRosonina你有没有得到这个工作? – harmanjd

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这个代码片段居住的地方。

相关问题