使用关键字在生成者安全性约束中添加完整性的现时标志

完整性的现时标志用于指定在特殊元素中嵌入了现时标志并且标记了该元素。现时标志是随机生成的密码令牌。当将现时标志添加到特定的消息部件时,它可以阻止偷盗和重放攻击,因为生成的现时标志是唯一的。例如,没有现时标志的话,当使用非安全传输(如 HTTP)从一台机器向另一台机器传递用户名令牌时,令牌可能会被拦截并用于重放攻击中。即使使用 XML 数字签名和 XML 加密,用户名令牌也可能被盗取。然而,添加现时标志会阻止此问题。

当为请求生成者或响应生成者配置生成者安全性约束时,完成下列步骤以使用关键字来指定完整性的现时标志。请求生成者是为客户机配置的,而响应生成者是为服务器配置的。在以下步骤中,您必须在步骤 2 中配置客户端扩展或在步骤 3 中配置服务器端扩展。

  1. 单击窗口 > 打开透视图 > J2EE
  2. 可选: 使用“项目资源管理器”窗口找到客户端扩展。 显示“客户机部署描述符”窗口。此 Web Service 包含需要配置的扩展。
    1. 展开“Web Service > 客户机”部分,并双击 Web Service 的名称。
    2. 单击 WS 扩展选项卡并展开“请求生成者配置”部分。
  3. 可选: 使用“项目资源管理器”窗口找到服务器端扩展。 显示“Web Service 编辑器”窗口。此 Web Service 包含需要配置的扩展。
    1. 展开“Web Service > 服务”部分,并双击 Web Service 的名称。
    2. 单击扩展选项卡,并展开“响应生成者服务配置详细信息”部分。
  4. 展开“完整性”部分。 完整性是指数字签名,而机密性是指加密。完整性可减少数据在网络中传输时被修改的风险。有关数字签名简单对象访问协议(SOAP)消息的更多信息,请参阅 XML 数字签名
  5. 单击添加以指定完整性的现时标志。 显示“完整性”对话窗口。
    1. 在“必需的完整性名称”字段中指定完整性元素的名称。 例如,您可以指定 int_nonce
    2. 在“顺序”字段中指定顺序。 该值必须是正整数值,指定处理数字签名的顺序。顺序值 1 指定先完成签名。
  6. 在现时标志下,单击添加并选择现时标志方言。 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was 方言指定现时标志要添加到并签字的消息部件。如果选择此方言,则可以在现时标志关键字下选择以下某个关键字:
    主体
    指定消息的用户数据部分。如果选择此选项,则在简单对象访问协议(SOAP)主体元素中嵌入现时标志,并且签署该主体元素。
    timestamp
    指定在消息内的独立时间戳记元素中嵌入了现时标志并且签署了该元素。如果选择时间戳记,则确保在消息中有独立的时间戳记元素。如果未选择,则请参阅将独立时间戳记添加到生成器安全性约束
    securitytoken
    指定签署了 securitytoken 元素。安全性令牌认证客户机。如果选择此选项,则现时标志元素嵌入到 securitytoken 元素中。
    dsigkey
    指定现时标志插入到密钥信息元素中,该元素用于数字签名,并且已标记该密钥信息元素。
    enckey
    指定现时标志插入到密钥信息元素中,该元素用于加密,并且已标记该密钥信息元素。
    messageid
    指定将现时标志插入到 <wsa:MessageID> 元素中并且对该 <wsa:MessageID> 元素进行签名。
    to
    指定将现时标志插入到消息中的 <wsa:To> 元素中并且对该 <wsa:To> 元素进行签名。
    action
    指定对 <wsa:Action> 元素进行签名。
    relatesto
    指定将现时标志插入到消息中的 <wsa:RelatesTo> 元素中并且对该 <wsa:RelatesTo> 元素进行签名。
  7. 在“消息部件”部分中,单击添加并在“消息部件方言”字段中选择 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was。
  8. 在“消息部件”部分中,选择消息部件关键字。
    要点: 在“消息部件”部分中必须至少定义一个消息部件,以便指定完整性的现时标志。此消息部件与现时标志的父元素一样标记。
  9. 单击确定以保存配置更改。
    注: 使用者端的这些配置与生成者端的配置必须匹配。
    除现时标志外,您还可以指定标记的时间戳记元素。有关更多信息,请参阅下列文章:

以下示例是具有插入到 SOAP 消息体并标记的现时标志的 SOAP 消息:

<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Header soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/
       wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/
          oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType=
          "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" 
          wsu:Id="x509bst_1179110083179840266" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
          oasis-200401-wss-wssecurity-utility-1.0.xsd"> E21hcnV5YW1hQGpwLmlibS5jb22CAgEBMA0GCSqGSIb3
          DQEBBQUAA4GBAHkthdGDgCvdIL9/vXUo74xpfOQd/rr1owBmMdb1TWdOyzwbOHC7lkUlnKrkI7SofwSLSDUP571iiMX
          Ux3tRdmAVCoDMMFuDXh9V7212luXccx0s1S5KN0D3xW97LLNegQC0/b+aFD8XKw2U5ZtwbnFTRgs097dmz09RosDKkLlM
         </wsse:BinarySecurityToken>
         <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            <ds:SignedInfo>
               <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                  <ec:InclusiveNamespaces PrefixList="wsse ds xsi soapenc xsd soapenv " 
                   xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
               </ds:CanonicalizationMethod>
               <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
               <ds:Reference URI="#wssecurity_signature_id_8451968259110349556">
                  <ds:Transforms>
                     <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                        <ec:InclusiveNamespaces PrefixList="xsi soapenc xsd wsu soapenv " 
                         xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                     </ds:Transform>
                  </ds:Transforms>
                  <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                  <ds:DigestValue>HgfL7FiG/TGECE/L0zg5mJldfgc=</ds:DigestValue>
               </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>iE2G53VMwCFBI6BwOWiaOLYvemZUJTXJocXpy8loyW1LiR8bBQcFioDOuDXXzVj3K+ZD2p
             Yhc0krVYqkYY0IZoRx7xpWt+9qn7aSbxKjuHlMFNCdB1Uxp608zCZcSwvuoCffjlO0ltUQ8JTEBnmMB0cfaoiG5bF
             kUOEpkFo2P9c=</ds:SignatureValue>
            <ds:KeyInfo>
               <wsse:SecurityTokenReference>
                  <wsse:Reference URI="#x509bst_1179110083179840266" ValueType="http://docs.oasis-open.org/
                   wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
               </wsse:SecurityTokenReference>
            </ds:KeyInfo> 
         </ds:Signature>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" 
    wsu:Id="wssecurity_signature_id_8451968259110349556" xmlns:wsu="http://docs.oasis-open.org/
    wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <getVersion/>
      <wsse:Nonce wasextention="wedsig" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/
       oasis-200401-wss-wssecurity-secext-1.0.xsd">1u0otbnjkPiCWDhh25yEyBHD/r3VPSbQ1oZTs0Ks1GE/iDL4YbKDT
       wdL+e2Hb7nNZn397nRJQ9ePGgf7PRdEuqATFbfq0/T+6j6Fk/MbSHmZnHHoBscFX8W/dYssyCmWDp99447kRhnJbNg5JxarkFmM
       LqpxKfm1iP3hKP5DpJY=</wsse:Nonce>
   </soapenv:Body>
</soapenv:Envelope>
指定要数字签名的消息部件后,您必须指定用于数字签名消息的方法。有关更多信息,请参阅为使用者绑定配置签名信息
相关概念
XML 数字签名
相关任务
在使用者安全性约束中添加独立时间戳记
使用关键字在使用者安全性约束中添加完整性的时间戳记
使用 XPath 表达式在使用者安全性约束中添加完整性的时间戳记
使用 XPath 表达式在使用者安全性约束中添加完整性的现时标志
为使用者绑定配置签名信息

反馈