WEB开发网
开发学院软件开发Java Java Web 服务: Axis2 WS-Security 签名和加密 阅读

Java Web 服务: Axis2 WS-Security 签名和加密

 2009-11-05 00:00:00 来源:WEB开发网   
核心提示: 签名要比 “Axis2 WS-Security 基础” 中的 UsernameToken 示例用到更多规范,您需要:识别用于在每个方向上创建签名的私有/公开密匙对,Java Web 服务: Axis2 WS-Security 签名和加密(6),提供用于访问 keystor

签名要比 “Axis2 WS-Security 基础” 中的 UsernameToken 示例用到更多规范。您需要:

识别用于在每个方向上创建签名的私有/公开密匙对,提供用于访问 keystore 和私有密匙的密码。

指定用于 XML 标准化、摘要生成和实际签名的算法集。

指定将消息的哪些部分包含到签名中。

这些信息中的一部分被作为配置数据处理,被嵌入到服务的 WS-SecurityPolicy 文档中。其他部分被包含到运行时消息交换中。

清单 1 展示了一个 WS-Policy 文档,用于将 Axis2 客户机配置为对消息使用签名。(清单 1 进行了编辑,以符合页面的宽度。在示例代码中可以查看 sign-policy-client.xml 的完整文本)。


清单 1. 用于签名(客户机)的 WS-Policy/WS-SecurityPolicy
<!-- Client policy for signing all messages, with certificates included in each 
 message --> 
<wsp:Policy wsu:Id="SignOnly" 
  xmlns:wsu="http://.../oasis-200401-wss-wssecurity-utility-1.0.xsd" 
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> 
 <wsp:ExactlyOne> 
  <wsp:All> 
   <sp:AsymmetricBinding 
     xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"> 
    <wsp:Policy> 
     <sp:InitiatorToken> 
      <wsp:Policy> 
       <sp:X509Token 
         sp:IncludeToken="http://.../IncludeToken/AlwaysToRecipient"/> 
      </wsp:Policy> 
     </sp:InitiatorToken> 
     <sp:RecipientToken> 
      <wsp:Policy> 
       <sp:X509Token 
         sp:IncludeToken="http://.../IncludeToken/AlwaysToInitiator"/> 
      </wsp:Policy> 
     </sp:RecipientToken> 
     <sp:AlgorithmSuite> 
      <wsp:Policy> 
       <sp:TripleDesRsa15/> 
      </wsp:Policy> 
     </sp:AlgorithmSuite> 
     <sp:Layout> 
      <wsp:Policy> 
       <sp:Strict/> 
      </wsp:Policy> 
     </sp:Layout> 
     <sp:IncludeTimestamp/> 
     <sp:OnlySignEntireHeadersAndBody/> 
    </wsp:Policy> 
   </sp:AsymmetricBinding> 
   <sp:SignedParts xmlns:sp="http://.../ws-securitypolicy/200702"> 
    <sp:Body/> 
   </sp:SignedParts> 
 
   <ramp:RampartConfig xmlns:ramp="http://ws.apache.org/rampart/policy"> 
    <ramp:user>clientkey</ramp:user> 
    <ramp:passwordCallbackClass 
      >com.sosnoski.ws.library.adb.PWCBHandler</ramp:passwordCallbackClass> 
 
    <ramp:signatureCrypto> 
     <ramp:crypto provider="org.apache.ws.security.components.crypto.Merlin"> 
      <ramp:property name="org.apache.ws.security.crypto.merlin.keystore.type" 
        >JKS</ramp:property> 
      <ramp:property name="org.apache.ws.security.crypto.merlin.file" 
        >client.keystore</ramp:property> 
      <ramp:property 
        name="org.apache.ws.security.crypto.merlin.keystore.password" 
        >nosecret</ramp:property> 
     </ramp:crypto> 
    </ramp:signatureCrypto> 
 
   </ramp:RampartConfig> 
 
  </wsp:All> 
 </wsp:ExactlyOne> 
</wsp:Policy>

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Java Web 服务

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接