2012-10-17 106 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這個代碼片段居住的地方。

相關問題