如何:设置签名确认

签名确认**是消息发起方使用的一种机制,用于确保接收到的答复是为响应发送方的原始消息而生成的。WS-Security 1.1 规范中对签名确认进行了定义。如果终结点支持 WS-Security 1.0,则不能使用签名确认。

下面的过程指定如何使用 AsymmetricSecurityBindingElement 来启用签名确认。可以对 SymmetricSecurityBindingElement 使用相同的过程。该过程是以如何:使用 SecurityBindingElement 创建自定义绑定中的基本步骤为基础而建立的。

在代码中启用签名确认

  1. 创建 BindingElementCollection 类的实例。

  2. 创建 SymmetricSecurityBindingElement 类的实例。

  3. RequireSignatureConfirmation 设置为 true

  4. 将安全元素添加到绑定集合中。

  5. 按照如何:使用 SecurityBindingElement 创建自定义绑定中的说明创建自定义绑定。

在配置中启用签名确认

  1. <customBinding> 元素添加到配置文件的 <bindings> 节。

  2. 添加一个 <binding> 元素,并将 name 属性设置为适当的值。

  3. 添加一个适当的编码元素。下面的示例添加了一个 <TextMessageEncoding> 元素。

  4. 添加一个 <security> 子元素并将 requireSignatureConfirmation 属性设置为 true

  5. 可选。若要在启动过程中启用签名确认,请添加一个 secureConversationBootstrap element 子元素并将 equireSignatureConfirmation 属性设置为 true

  6. 添加一个适当的传输元素。下面的示例添加一个 httpTransport element

    <bindings>
      <customBinding>
        <binding name="SignatureConfirmationBinding">
          <security requireSignatureConfirmation="true">
            <secureConversationBootstrap requireSignatureConfirmation="true" />
              </security>
           <textMessageEncoding />
             <httpTransport />
        </binding>
      </customBinding>
    </bindings>
    

示例

下面的代码创建 SymmetricSecurityBindingElement 的实例并将 RequireSignatureConfirmation 属性设置为 true。请注意,此示例不使用上一示例中所示的 <secureConversationBootstrap> 元素。此示例演示了使用 Windows(Kerberos 协议)令牌时的签名确认。在本例中,在来自服务的所有响应中均返回客户端的签名,并且该签名由客户端进行确认。

另请参见

任务

如何:为指定的身份验证模式创建 SecurityBindingElement

参考

SymmetricSecurityBindingElement
AsymmetricSecurityBindingElement
CreateMutualCertificateBindingElement

概念

如何:使用 SecurityBindingElement 创建自定义绑定