2016年7月8日更新。如何實現通過SSL進行Web服務通信的Web服務?
我必須通過SSL實現Web服務到Web服務通信。這個要求就像我們有一個在Eclipse Virgo服務器上運行的應用程序。該應用程序包含少量OSGI軟件包。目前,當用戶輸入一些數據來存儲應用程序接受它並將數據持久化到基於實體的異構數據源(數據庫,使用JNI的C進程)並且這工作正常。
現在我需要實現的是,同一個應用程序將被部署在多個服務器中,並且在UI中將會有一個選項來指定複製服務器(即運行相同應用程序的服務器和需要複製的數據)。
爲此,我們計劃創建一個單獨的包以具有Restful Web服務並移動所有持久性邏輯以將數據保存到異構數據源。該Rest API將檢查可用的複製服務器,並且必須將相同的數據與Rest服務一起傳遞到這些服務器中。
需要指出的一點是,我們利用Spring Security框架來確保我們的java應用程序的安全性。由於我們不向任何第三方應用程序公開我們的Web服務,因此所有呼叫(包括對Web服務的調用)都將使用此服務進行身份驗證和授權。
我們不這樣做的負載平衡。每個服務器都是獨立的,我們使用安裝程序應用程序連同所需的軟件一起安裝應用程序。這個想法是使用安裝程序創建並安裝自簽名證書。在安裝應用程序時,我們可能不知道我們是否需要將其複製到另一臺服務器。因爲不是此應用程序的每個客戶端都需要複製服務器。需要使用複製服務器的客戶端必須能夠在稍後階段通過Java Web應用程序管理屏幕啓用和禁用一個或多個複製服務器。從那裏開始,一臺服務器上發生的數據操作需要以雙向的方式複製到其他服務器上。
所以我的問題是我們如何動態地獲取公鑰並加密請求以便在SSL中運行後以雙向方式連接到這些複製服務器?
我對SSL的概念完全陌生。
在此先感謝。
我能動態地做到這一點嗎?因爲我們計劃通過UI爲應用程序的超級管理員用戶指定複製服務器。 – Leejoy
如果您將根CA包含在frontendserver的信任庫中,則新複製不會影響此部分。對於複製後端,您需要綁定到IP或複製過程中必須包含的服務器主機名的證書。您每次都要新建一個新證書,從可用的預建列表中選擇一個,或者爲所有服務器使用通配符 – pedrofb
我已更新我的問題。 – Leejoy