我們有一個Java適配器,用於查詢mongodb數據庫並向客戶端提供JSON響應。部署在bluemix上的Java適配器的SSL配置和撰寫mongodb
當部署到本地服務器試圖查詢上bluemix一撰寫的MongoDB我們自然得到SSLHandshakeException
,這是通過手動導入通過撰寫的MongoDB我們當地mobilefirst密鑰庫作爲拋出的異常提供的證書解決提示使用密鑰工具:
mfp-server\usr\servers\mfp\resources\security\key.jks
通過mfp UI控制檯創建密鑰庫並沒有像文檔建議的那樣解決此問題。
但是,我們對如何在部署在bluemix上的移動基礎上執行相同的操作感到困惑。
我們嘗試通過接口添加密鑰庫,在適配器描述符文件中創建連接策略並在jaxrs應用程序類中使用System
屬性。
System.setProperty("javax.net.ssl.trustStore",getClass().getClassLoader().getResource("keystorefile").getPath());
System.setProperty("javax.net.ssl.trustStorePassword", "keystorepassword");
無工作,到目前爲止,同爲本地實例,更新key.jks
是我們得到了mfserver和composeMongoDB工作的唯一途徑。
我們使用MobileFirst 8和MongoDB的Java驅動程序版本3.2.2
而且我們使用這個命令導入撰寫的證書添加到自簽名的一個,我們創建了:
keytool -importcert -keystore <keystore name> -file <certificate_file_path>