本文介紹在Sun公司提供的JWSDP1.6版本中提供的消息級別安全.
本版為消息級別安全使用XML和Web服務安全(XWS-Security),在消息級別安全中,安全信息包含在SOAP消息和/或SOAP消息附件中,這允許安全信息和消息或附件一起傳遞.例如消息的一部分由發送者簽名並加密給一個特定的接收者,當消息從最初的發送者發送時,它要通過中間節點在抵達它期望的接收者之前.在這個場景中,加密的部分對中間節點一直是不透明的並且只能由期望的接收者解密,由於這個原因,消息級別的安全有時也稱為端到端安全.
概覽
Sun 公司發布的XWS-Security,包括下列特性:
本XWS-Security實現基於Oasis Web Services Security (WSS) 規范,你能查看下面這個URL:
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf
XWS-Security實現的規范
XWS-Security是一個實現了OASIS的WSS規范,WSS定義一個SOAP擴展,用於通過消息完整性,消息機密度以及消息認證來提供保護品質.WSS 機制能用於完成各種廣泛的安全模型和加密技術.WSS規范還定義了一個端到端安全框架,它提供支持中間安全處理.消息完整性通過使用XML簽名連同安全標識來確保消息在傳輸過程中不被篡改.消息機密性通過XML加密連同作為SOAP消息秘密部分的安全標識提供.
在本版中,XWS-Security框架提供下面的選項來保護JAX-RPC應用:
XML Digital Signature (DSig)
XML Encryption (XML-Enc)
UsernameToken Verification
XWS-Security Framework APIs
XWS-Security基於的技術
XWS-Security APIs 用來保護基於JAX-RPC的Web services和基於SAAJ的單獨應用程序,本版XWS-Security基於標准的XML Digital Signature和非標准XML Encryption APIs,它受新版技術的影響.隨著JSR-106的確定,JSR-106-XML Digital Encryption APIs將會取代它.
和其它Web服務的互操作性
本發布部分支持WS-I Basic Security Profile 1.0 (BSP)來實現互操作性,計劃在XWS-Security2的FCS版中完全支持.
XWS-Security通過使用security configuration文件被集成到JAX-RPC中了. 在客戶端和服務器端執行安全操作的代碼由JAXRPC wscompile工具生成,它接收-security選項提供的security configuration文件.wscompile工具借助-security選項指定的security configuration文件指示生成安全代碼.
要使用XWS-Security 框架,就要設置客戶端和服務器端基礎結構.為XWS-Security設置你的系統的一個關鍵部件就是為你要使用的安全類型(DSig, XML-Enc, UserName Token)設置適當的數據庫,這依賴於你的應用結構,那麼數據庫是一些keystore文件,truststore文件以及usernamepassWord等文件的組合.
配置安全配置文件
XWS-Security使用安全配置文件描述安全配置以簡化指定客戶和服務器端配置.
在本指南中,build, package, and deploy targets等過程使用asant工具定義和運行.工具asant是apache Ant基於Java的構建工具特定於SJSAS的定制版本,如果要發布到不同的容器,需要使用apache Ant工具代替.
配置安全配置文件有以下步驟: