2011-10-06 57 views
5

我的webservice(服務器端)使用axis2在我的項目中實現。我們希望在現有的Web服務中啓用WS-Security。我們正在評估apache ramapart模塊是否符合我們的需求。這是我們的要求: 基本上我們有內部安全框架,它提供加​​密,簽名和令牌生成功能。我們的內部安全框架基本上需要一組XML格式的配置,並公開各種API以執行各種安全操作。使用axis2自帶的安全框架ramaprt模塊

現在有了以上的環境中,我能想到的三個possbile解決方案: -

  1. 我可以圍繞制定一個Axis2模塊內部的安全框架,並把它安裝在安全階段.mar文件。所以我不會使用Apache的壘。但是這種方法的問題是我不能使用ws-security策略來指定安全聲明並確保傳入的安全令牌符合有效的策略。這就像重新發明輪子已經做過的事情。

  2. 我相信apache rampart強調呼籲apache wss4j模塊的安全操作。我相信apache wss4j模塊提供了一種註冊第三方安全提供程序的方法(通過實現CryptoProvider接口)。我不確定這是否可行和可行的解決方案。請建議。

  3. Ws安全策略允許使用自定義令牌。該自定義令牌可以使用我們的內部安全框架進行構建。所以基本上它使我們能夠使用apache rampart模塊創建ws安全策略,並使用我們的安全框架開發自定義令牌。但是我在互聯網上找不到這方面的幫助。任何人都可以請示例幫忙。

任何其他建議也是最受歡迎的。

回答

1

我已經在這裏張貼解答:How to encrypt SOAP messages manually?

有一個很詳細的例子那裏,你可能會發現有用。

您可以通過使用設置提供商:

cryptoConfig.setProvider(PROVIDER); 

關於自定義安全頭,我很抱歉,但我沒有嘗試,所以我不能幫助你。