使用关键字将完整性的时间戳记添加到生成者安全性约束中

此任务用于指定在特殊元素中嵌入时间戳记并标记该元素。当您为请求生成者或响应生成者配置生成者安全性约束时,请完成下列步骤以使用关键字来指定完整性的时间戳记。请求生成者是为客户机配置的,而响应生成者是为服务器配置的。在以下步骤中,您必须在步骤 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. 在“完整性名称”字段中指定完整性元素的名称。
    2. 在“顺序”字段中指定顺序。 该值必须是正整数值,指定处理数字签名的顺序。顺序值 1 指定先完成签名。
  6. 在“时间戳记”部分下,单击添加并选择时间戳记方言。 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was 方言指定使用关键字对元素进行签名之前添加时间戳记的消息元素。 如果您选择此方言,则可以在“时间戳记关键字标题”下选择以下某个关键字:
    主体
    指定消息的用户数据部分。如果选择 body 选项,则在简单对象访问协议(SOAP)主体中嵌入时间戳记并对此主体进行签名。
    timestamp
    指定在消息内的独立时间戳记元素中嵌入并签署时间戳记。如果选择时间戳记选项,则确保在消息中有独立的时间戳记元素。如果该元素不存在,则请参阅将独立时间戳记添加到生成器安全性约束
    securitytoken
    指定安全性令牌认证客户机。如果选择此选项,则在 securitytoken 元素中嵌入时间戳记元素并对安全性令牌进行签名。
    dsigkey
    指定时间戳记插入到密钥信息元素中,该元素用于数字签名,并且已标记该密钥信息元素。
    enckey
    指定时间戳记插入到密钥信息元素中,该元素用于加密,并标记该密钥信息元素。
    messageid
    指定将时间戳记插入到 <wsa:MessageID> 元素中并且对该 <wsa:MessageID> 元素进行签名。
    to
    指定将时间戳记插入到消息中的 <wsa:To> 元素中并且对该 <wsa:To> 元素进行签名。
    action
    指定对 <wsa:Action> 元素进行签名。
    relatesto
    指定将时间戳记插入到消息中的<wsa:RelatesTo> 元素中并且对该 <wsa:RelatesTo> 元素进行签名。
  7. 在“时间戳记到期”字段中为时间戳记指定到期时间。 时间戳记有助于防护重放攻击。持续时间的词法表示法是 [ISO 8601] 扩展格式 PnYnMnDTnHnMnS,其中:
    P
    在日期和时间值之前。
    nY
    代表时间戳记有效的年份数。选择 0 到 99 年份的值。
    nM
    代表时间戳记有效的月份数。选择 0 到 11 月份的值。
    nD
    代表时间戳记有效的天数。选择 0 到 30 天的值。
    T
    区分日期和时间值。
    nH
    代表时间戳记有效的小时数。选择 0 到 23 小时的值。
    nM
    代表时间戳记有效的分钟数。选择 0 到 59 分钟的值。
    nS
    代表时间戳记有效的秒数。秒数可以包括任意精度的小数位数。您可以选择 0 到 59 秒和 0 到 9 毫秒的值。

    例如,要表示 1 年、2 个月、3 天、10 小时及 30 分钟,格式是:P1Y2M3DT10H30M。通常,您可以配置 10 和 30 分钟之间的消息时间戳记。例如,10 分钟表示为 P0Y0M0DT0H10M0SPT10M

  8. 在“消息部件”部分中,单击添加并在“消息部件方言”字段中选择 http://www.ibm.com/websphere/webservices/wssecurity/dialect-was。
  9. 在“消息部件”部分中,选择消息部件关键字。
    要点: 在“消息部件”部分中必须至少定义一个消息部件,以指定完整性的时间戳记。
  10. 单击确定以保存配置更改。
    注: 生成者和使用者的这些配置必须匹配。

以下示例说明插入到 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_6212871821454005389" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/
          oasis-200401-wss-wssecurity-utility-1.0.xsd"> AgBgkqhkiG9w0BCQEWE21hcnV5YW1hQGpwLmlibS5jb22
          CAgEBMA0GCSqGSIb3DQEBBQUAA4GBAHkthdGDgCvdIL9/vXUo74xpfOQd/rr1owBmMdb1TWdOyzwbOHC7lkUlnKrkI7
          SofwSLSDUP571iiMXUx3tRdmAVCoDMMFuDXh9V7212luXccx0s1S5KN0D3xW97LLNegQC0/b+aFD8XKw2U5ZtwbnFTRgs
          097dmz09RosDKkLlM</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_493518228178200731">
                  <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>kKrcmc8saJ91JCNiE33UECoNYz8=</ds:DigestValue>
               </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>XBpPju5+qH4bBFodO1kbBO54kEdBD0Pr5ohnXa3TPrDwXqmr67zDP3ZTk7iBSADnH+dlfKup
             Fhx+NZu2h5/j1/KYWaR2HTTv/KYE6IdqXVz3EFglUIBLzQnJ2Zbn62eBx5Th285Cn2Vrxtdb5BvUa1dt6M6k61CvRlz3
             /nMhQxk=</ds:SignatureValue>
            <ds:KeyInfo>
               <wsse:SecurityTokenReference>
                  <wsse:Reference URI="#x509bst_6212871821454005389" 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_493518228178200731" xmlns:wsu="http://docs.oasis-open.org/
    wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
      <getVersion/>
      <wsu:Timestamp wasextention="wedsig">
         <wsu:Created>2004-10-12T15:58:19.201Z</wsu:Created>
      </wsu:Timestamp>
   </soapenv:Body>
</soapenv:Envelope>
指定要数字签名的消息部件后,您必须指定用于数字签名消息的方法。有关更多信息,请参阅使用组装工具为生成者绑定配置签署信息
相关任务
将独立时间戳记添加到生成器安全性约束
使用 XPath 表达式将完整性的现时标志添加到生成者安全性约束
使用组装工具为生成者绑定配置签署信息
使用关键字在生成者安全性约束中添加完整性的现时标志

反馈