2012-05-15 65 views
4

我們正在嘗試使用Play安裝程序與我們的內部CRM交談。我們之前的所有應用程序都是用過度的JSF框架(ICEfaces)編寫的 - 但是,由於JSF應用程序部署在glassfish盒子上,因此它們可以很好地與我們的CRM交談,因爲我們已經爲glassfish安裝了證書以便能夠與我們的CRM網絡服務。Play Framework:內部網絡服務的密鑰存儲區

現在我們試圖讓玩遊戲來做同樣的事情,並且我們遇到了一些困難,因爲我們想要在netty上運行應用程序。我們如何將證書導入密鑰庫(或類似的),以便他們可以與我們的CRM進行通信?由於CRM是公司內部的,所以證書是根據需要自行簽署和分發的。

我試過在劇中配置文件以下 - 但我不知道在這一個,因爲這些配置屬性似乎更對遊戲服務器本身,而不是作戲應用傳達給另一個服務。

# Keystore 
trustmanager.algorithm=jks 
ssl.KeyManagerFactory.algorithm=SunX509 
keystore.algorithm=jks 
keystore.password=changeit 
keystore.file=conf/cacerts.jks 

我們的一個其他開發人員能夠得到這個工作,但我們必須把它直接在我們的代碼是不理想的。

System.setProperty("javax.net.ssl.trustStore", "C:/webapps/playapp1/cacerts.jks"); 
System.setProperty("javax.net.ssl.trustStorePassword", "changeit"); 
System.setProperty("javax.net.ssl.keyStoreType", "jks"); 
System.setProperty("javax.net.ssl.keyStore", "C:/webapps/playapp1/keystore.jks"); 
System.setProperty("javax.net.ssl.keyStorePassword", "changeit"); 

作爲一個說明,我們的CRM構建,我們拖放到我們的JSF或播放應用程序的JAR文件,它包裝的WebService的我們,讓我們沒有打造出來的客戶端代碼爲每個服務(類似於你可以下載Amazon的S3服務)。該服務jar使用Jersey下面的XML/Rest來與我們的服務進行通信。當我們不使用SSL時,它在播放框架中工作得很好。

回答

0

您使用的是什麼版本的遊戲? 我知道我實際上必須重新編譯playframework,因爲它禁用了安全支持。 但我認爲這是1.1版

+0

我們已經嘗試過了兩個1.2.4和2.0.1 – rmmeans