使用关键字在生成者安全性约束中标记消息元素

当为请求生成者或响应生成者配置生成者安全性约束时,完成以下步骤以指定对哪些消息部件进行数字签名。请求生成者是为客户机配置的,而响应生成者是为服务器配置的。在以下步骤中,您必须在步骤 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_webskey
    2. 在“顺序”字段中指定顺序。 该值必须是正整数值,指定处理数字签名的顺序。顺序值 1 指定先完成签名。
  6. 在“消息部件”部分下单击添加,然后选择“消息部件方言”。 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was 方言指定使用关键字签字的消息部件。 如果选择此方言,则可以在“消息部件关键字标题”下选择以下某个关键字:
    主体
    指定消息的用户数据部分。如果您选择此关键字,则标记主体。
    timestamp
    指定标记在消息内的独立时间戳记元素。时间戳记元素根据发送,然后接收消息的时间,确定消息是否有效。如果选择时间戳记选项,则确保在消息中有独立的时间戳记元素。如果该元素不存在,则请参阅将独立时间戳记添加到生成器安全性约束
    securitytoken
    指定标记了 SOAP 消息消息中的 UsernameToken。
    dsigkey
    指定标记了用于数字签名的密钥信息元素。
    enckey
    指定标记了用于加密的密钥信息元素。
    messageid
    指定对消息内的 <wsa:MessageID> 元素进行签名。
    to
    指定对消息内的 <wsa:To> 元素进行签名。
    action
    指定对 <wsa:Action> 元素进行签名。
    relatesto
    指定对消息内的 <wsa:RelatesTo> 元素进行签名。
  7. 单击确定以保存配置更改。
    注: 生成者和使用者的这些配置必须匹配。

以下示例是主体使用主体关键字和 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was 方言标记的 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_956396521418196" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
          oasis-200401-wss-wssecurity-utility-1.0.xsd"> MA0GCSqGSIb3DQEBBQUAA4GBAHkthdGDgCvdIL9/
          vXUo74xpfOQd/rr1owBmMdb1TWdOyzwbOHC7lkUlnKrkI7SofwSLSDUP571iiMXUx3tRdmAVCoDMMFuDXh9V7212lu
          Xccx0s1S5KN0D3xW97LLNegQC0/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_5945817517184298591">
                  <ds:Transforms>
                     <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                        <ec:InclusiveNamespaces PrefixList="p896 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>vyu0JwXXSAvRCUCi6TPkeH8yUTU=</ds:DigestValue>
               </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>dtbYA609wwAUAA8BmDmJlVHrWShy6OLJB3n4A6ToU0lI9tJrNhBksGqks17cykf+uHTJ
             cgOY18XrRDN4wHTW4zm/tmD5WqQd8K1WpYaGpbwlFoiwKVFNyfQn2K/WbZ2JccmZvJGFaOtqStg6TqSUGLQSA5
             MCSpZUhck545IY2F4=
            </ds:SignatureValue>
            <ds:KeyInfo>
               <wsse:SecurityTokenReference>
                  <wsse:Reference URI="#x509bst_956396521418196" 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_5945817517184298591" xmlns:wsu="http://docs.oasis-open.org/
    wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <p896:getVersion xmlns:p896="http://msgsec.wssecfvt.ws.ibm.com"/>
   </soapenv:Body>
</soapenv:Envelope>
指定要数字签名的消息部件后,您必须指定用于数字签名消息的方法。有关更多信息,请参阅使用组装工具为生成者绑定配置签署信息
相关概念
XML 数字签名
相关任务
将独立时间戳记添加到生成器安全性约束
使用 XPath 表达式将完整性的时间戳记添加到生成者安全性约束中
使用 XPath 表达式将完整性的现时标志添加到生成者安全性约束
使用组装工具为生成者绑定配置签署信息

反馈