<?xml version="1.0" encoding="utf-8"?>
<Type Name="SecurityBindingElement" FullName="System.ServiceModel.Channels.SecurityBindingElement">
  <TypeSignature Language="C#" Value="public abstract class SecurityBindingElement : System.ServiceModel.Channels.BindingElement" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract beforefieldinit SecurityBindingElement extends System.ServiceModel.Channels.BindingElement" />
  <AssemblyInfo>
    <AssemblyName>System.ServiceModel</AssemblyName>
    <AssemblyVersion>4.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <Base>
    <BaseTypeName>System.ServiceModel.Channels.BindingElement</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>This class is the base class for the SOAP message security binding elements in indigo2. There are three implementations of this abstract class: <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" />, <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" />, and <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" />. These implementations model the bindings defined in the WS-Security Policy specification.</para>
      <para>A custom binding contains a collection of binding elements arranged in a specific order: the element that represents the top of the binding stack is added first, the next element down in the binding stack is added second, and so on.</para>
      <para>To add this class to a binding, do the following:</para>
      <list type="ordered">
        <item>
          <para>Create a <see cref="T:System.ServiceModel.Channels.BindingElementCollection" />. </para>
        </item>
        <item>
          <para>Create a custom binding element that is above this binding element in the binding stack, such as the optional <see cref="T:System.ServiceModel.Channels.TransactionFlowBindingElement" /> and <see cref="T:System.ServiceModel.Channels.ReliableSessionBindingElement" />.</para>
        </item>
        <item>
          <para>Add these elements in the order previously described to the <see cref="T:System.ServiceModel.Channels.BindingElementCollection" /> using the <see cref="M:System.ServiceModel.Channels.BindingElementCollection.InsertItem(System.Int32,System.ServiceModel.Channels.BindingElement)" /> method.</para>
        </item>
        <item>
          <para>Create an instance of a security binding element derived from <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" />, such as <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" />, <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" />, or <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" />.</para>
        </item>
        <item>
          <para>Add the derived security binding element to the collection.</para>
        </item>
        <item>
          <para>Add any additional custom binding elements to the collection, such as <see cref="T:System.ServiceModel.Channels.TcpTransportBindingElement" />.</para>
        </item>
      </list>
      <para>crabout using a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" />, see <format type="text/html"><a href="12300bf4-c730-4405-9f65-d286f68b5a43">SecurityBindingElement Authentication Modes</a></format> and <format type="text/html"><a href="203a9f9e-3a73-427c-87aa-721c56265b29">How To: Create a Custom Binding Using the SecurityBindingElement</a></format>.</para>
      <block subset="none" type="note">
        <para>Once a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object is created, you should treat its properties as immutable. Calling set on some properties may have unpredictable effects: the binding may behave as if the property retained its old value, with a runtime failure being the only indication of an issue. Two properties known to behave this way are <see cref="P:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters.KeyType" /> and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" />. There may be other properties of which this is also true.</para>
      </block>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>An abstract class that, when implemented, represents a binding element that supports channel SOAP message security.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName="BuildChannelFactory&lt;TChannel&gt;">
      <MemberSignature Language="C#" Value="public override System.ServiceModel.Channels.IChannelFactory&lt;TChannel&gt; BuildChannelFactory&lt;TChannel&gt; (System.ServiceModel.Channels.BindingContext context);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.ServiceModel.Channels.IChannelFactory`1&lt;!!TChannel&gt; BuildChannelFactory&lt;TChannel&gt;(class System.ServiceModel.Channels.BindingContext context) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.IChannelFactory&lt;TChannel&gt;</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="TChannel" />
      </TypeParameters>
      <Parameters>
        <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The channel factory created is a SOAP message security channel factory, which internally has a reference to the channel factory that corresponds to the binding context, (which includes the transport channel factory). </para>
          <para>This method does parameter error-checking, and then calls <see cref="M:System.ServiceModel.Channels.SecurityBindingElement.BuildChannelFactoryCore``1(System.ServiceModel.Channels.BindingContext)" />. That method, when implemented in a derived class, creates a channel factory, which is used to create a channel that processes outgoing messages for this binding.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a channel factory based on the <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> settings and the binding context passed in. The channel factory created is a SOAP message security channel factory, which internally has a reference to the channel factory that corresponds to the binding context, (which includes the transport channel factory).</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A channel factory based on the <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> settings and the binding context passed in.</para>
        </returns>
        <param name="context">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Channels.BindingContext" />.</param>
        <typeparam name="TChannel">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of channel factory.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="BuildChannelFactoryCore&lt;TChannel&gt;">
      <MemberSignature Language="C#" Value="protected abstract System.ServiceModel.Channels.IChannelFactory&lt;TChannel&gt; BuildChannelFactoryCore&lt;TChannel&gt; (System.ServiceModel.Channels.BindingContext context);" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.ServiceModel.Channels.IChannelFactory`1&lt;!!TChannel&gt; BuildChannelFactoryCore&lt;TChannel&gt;(class System.ServiceModel.Channels.BindingContext context) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.IChannelFactory&lt;TChannel&gt;</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="TChannel" />
      </TypeParameters>
      <Parameters>
        <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>
            <see cref="M:System.ServiceModel.Channels.SecurityBindingElement.BuildChannelFactory``1(System.ServiceModel.Channels.BindingContext)" />, which does error checking, calls this method. When this method is implemented in a derived class, it creates a channel factory, which is used to create a channel that processes outgoing messages for this binding.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When implemented, creates a channel factory of a specified type.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A channel factory of a specified type.</para>
        </returns>
        <param name="context">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Channels.BindingContext" />.</param>
        <typeparam name="TChannel">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of channel factory.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="BuildChannelListener&lt;TChannel&gt;">
      <MemberSignature Language="C#" Value="public override System.ServiceModel.Channels.IChannelListener&lt;TChannel&gt; BuildChannelListener&lt;TChannel&gt; (System.ServiceModel.Channels.BindingContext context) where TChannel : class, System.ServiceModel.Channels.IChannel;" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance class System.ServiceModel.Channels.IChannelListener`1&lt;!!TChannel&gt; BuildChannelListener&lt;class (class System.ServiceModel.Channels.IChannel) TChannel&gt;(class System.ServiceModel.Channels.BindingContext context) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.IChannelListener&lt;TChannel&gt;</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="TChannel">
          <Constraints>
            <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
            <InterfaceName>System.ServiceModel.Channels.IChannel</InterfaceName>
          </Constraints>
        </TypeParameter>
      </TypeParameters>
      <Parameters>
        <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The channel factory created is a SOAP message security channel listener, which internally has a reference to the channel listener that corresponds to the binding context, which includes the transport channel listener.</para>
          <para>This method does parameter error-checking, and then calls <see cref="M:System.ServiceModel.Channels.SecurityBindingElement.BuildChannelListenerCore``1(System.ServiceModel.Channels.BindingContext)" />. That method, when implemented in a derived class, creates a channel listener, which is used to create a channel that processes incoming messages for this binding.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a channel listener based on the <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> settings and the binding context passed in. </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A channel listener based on the <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> settings and the binding context passed in.</para>
        </returns>
        <param name="context">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Channels.BindingContext" />.</param>
        <typeparam name="TChannel">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of channel listener.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="BuildChannelListenerCore&lt;TChannel&gt;">
      <MemberSignature Language="C#" Value="protected abstract System.ServiceModel.Channels.IChannelListener&lt;TChannel&gt; BuildChannelListenerCore&lt;TChannel&gt; (System.ServiceModel.Channels.BindingContext context) where TChannel : class, System.ServiceModel.Channels.IChannel;" />
      <MemberSignature Language="ILAsm" Value=".method familyhidebysig newslot virtual instance class System.ServiceModel.Channels.IChannelListener`1&lt;!!TChannel&gt; BuildChannelListenerCore&lt;class (class System.ServiceModel.Channels.IChannel) TChannel&gt;(class System.ServiceModel.Channels.BindingContext context) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.IChannelListener&lt;TChannel&gt;</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="TChannel">
          <Constraints>
            <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
            <InterfaceName>System.ServiceModel.Channels.IChannel</InterfaceName>
          </Constraints>
        </TypeParameter>
      </TypeParameters>
      <Parameters>
        <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>
            <see cref="M:System.ServiceModel.Channels.SecurityBindingElement.BuildChannelListener``1(System.ServiceModel.Channels.BindingContext)" />, which does error checking, calls this method. When this method is implemented in a derived class, it creates a channel listener, which is used to create a channel that processes outgoing messages for this binding.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>When implemented, creates a channel listener of a specified type.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A channel listener of a specified type.</para>
        </returns>
        <param name="context">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Channels.BindingContext" /> object.</param>
        <typeparam name="TChannel">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of channel listener.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="CanBuildChannelFactory&lt;TChannel&gt;">
      <MemberSignature Language="C#" Value="public override bool CanBuildChannelFactory&lt;TChannel&gt; (System.ServiceModel.Channels.BindingContext context);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool CanBuildChannelFactory&lt;TChannel&gt;(class System.ServiceModel.Channels.BindingContext context) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="TChannel" />
      </TypeParameters>
      <Parameters>
        <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>You should call this method before trying to create a channel factory.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether a channel factory of the specified type can be built. </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>true if a channel factory of the specified type can be built; otherwise, false.</para>
        </returns>
        <param name="context">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Channels.BindingContext" />.</param>
        <typeparam name="TChannel">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of channel factory.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="CanBuildChannelListener&lt;TChannel&gt;">
      <MemberSignature Language="C#" Value="public override bool CanBuildChannelListener&lt;TChannel&gt; (System.ServiceModel.Channels.BindingContext context) where TChannel : class, System.ServiceModel.Channels.IChannel;" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool CanBuildChannelListener&lt;class (class System.ServiceModel.Channels.IChannel) TChannel&gt;(class System.ServiceModel.Channels.BindingContext context) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="TChannel">
          <Constraints>
            <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
            <InterfaceName>System.ServiceModel.Channels.IChannel</InterfaceName>
          </Constraints>
        </TypeParameter>
      </TypeParameters>
      <Parameters>
        <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>You should call this method before trying to create a channel listener.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether a channel listener of the specified type can be built.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>true if a channel listener of the specified type can be built; otherwise, false.</para>
        </returns>
        <param name="context">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.serviceModel.Channels.BindingContext" />.</param>
        <typeparam name="TChannel">
          <attribution license="cc4" from="Microsoft" modified="false" />The type of channel listener.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="CreateAnonymousForCertificateBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateAnonymousForCertificateBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateAnonymousForCertificateBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The client and server must be configured out of band with the service certificate.</para>
          <para>The binding is created with <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" /> set to <see cref="P:System.ServiceModel.MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11" /> and <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.RequireSignatureConfirmation" /> set to true.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured for anonymous client authentication and certificate-based server authentication.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> that holds the new binding.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateCertificateOverTransportBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.TransportSecurityBindingElement CreateCertificateOverTransportBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.TransportSecurityBindingElement CreateCertificateOverTransportBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.TransportSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This binding element expects the transport to provide server authentication as well as message protection (for example, HTTPS).</para>
          <para>The binding element is configured to use the <see cref="P:System.ServiceModel.MessageSecurityVersion.Default" /> property of the <see cref="T:System.ServiceModel.MessageSecurityVersion" /> class.</para>
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> set to true. </para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a security binding element that expects clients to do certificate-based authentication using SOAP message security. </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateCertificateOverTransportBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.TransportSecurityBindingElement CreateCertificateOverTransportBindingElement (System.ServiceModel.MessageSecurityVersion version);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.TransportSecurityBindingElement CreateCertificateOverTransportBindingElement(class System.ServiceModel.MessageSecurityVersion version) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.TransportSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="version" Type="System.ServiceModel.MessageSecurityVersion" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This binding element expects the transport to provide server authentication as well as message protection (for example, HTTPS). The binding element is configured with the specified <see cref="T:System.ServiceModel.MessageSecurityVersion" />.</para>
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> set to true.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a security binding element that expects clients to do certificate-based authentication using SOAP message security. </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> object.</para>
        </returns>
        <param name="version">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.MessageSecurityVersion" /> for the binding.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateCertificateSignatureBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.AsymmetricSecurityBindingElement CreateCertificateSignatureBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.AsymmetricSecurityBindingElement CreateCertificateSignatureBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.AsymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>This binding element requires the client to configure a certificate for authentication purposes.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a binding element using a certificate to sign messages. This binding element can be used only for one-way message exchanges and is capable only of signing the message.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateIssuedTokenBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateIssuedTokenBindingElement (System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateIssuedTokenBindingElement(class System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="issuedTokenParameters" Type="System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The issued token parameters must have a symmetric key type.</para>
          <block subset="none" type="note">
            <para>Once a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object is created by calling this method, the <see cref="P:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters.KeyType" /> property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to require client authentication using a symmetric-key based issued token. </para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
        <param name="issuedTokenParameters">
          <attribution license="cc4" from="Microsoft" modified="false" />A <see cref="T:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" /> that represents the symmetric-key based issued token.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateIssuedTokenForCertificateBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateIssuedTokenForCertificateBindingElement (System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateIssuedTokenForCertificateBindingElement(class System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="issuedTokenParameters" Type="System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The issued token can have a symmetric or an asymmetric key. The client and server must be provisioned with the server's certificate.</para>
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.RequireSignatureConfirmation" /> set to true and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" /> set to <see cref="P:System.ServiceModel.MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11" />. </para>
          <block subset="none" type="note">
            <para>Once a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object is created by calling this method, the <see cref="P:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters.KeyType" /> property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to require client authentication based on an issued token and server authentication based on the server certificate.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
        <param name="issuedTokenParameters">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" /> that represents the symmetric-key based issued token.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateIssuedTokenForSslBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateIssuedTokenForSslBindingElement (System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateIssuedTokenForSslBindingElement(class System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="issuedTokenParameters" Type="System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The server issues a cookie-based security context token at the end of the SSL protocol.</para>
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.RequireSignatureConfirmation" /> set to true and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" /> set to <see cref="P:System.ServiceModel.MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to require client authentication based on an issued token and server authentication based on the server certificate.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
        <param name="issuedTokenParameters">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" />.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateIssuedTokenForSslBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateIssuedTokenForSslBindingElement (System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters, bool requireCancellation);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateIssuedTokenForSslBindingElement(class System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters, bool requireCancellation) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="issuedTokenParameters" Type="System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" />
        <Parameter Name="requireCancellation" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.RequireSignatureConfirmation" /> set to true and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" /> set to <see cref="P:System.ServiceModel.MessageSecurityVersion.WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11" />.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to require client authentication based on an issued token and server authentication based on the server certificate.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
        <param name="issuedTokenParameters">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" />.</param>
        <param name="requireCancellation">
          <attribution license="cc4" from="Microsoft" modified="false" />true if cancellation is required; otherwise, false. Setting it to false enables a security context token that is useful in Web farm scenarios, because in this mode the session state is encoded inside the established security context token instead of being kept in the server memory.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateIssuedTokenOverTransportBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.TransportSecurityBindingElement CreateIssuedTokenOverTransportBindingElement (System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.TransportSecurityBindingElement CreateIssuedTokenOverTransportBindingElement(class System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters issuedTokenParameters) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.TransportSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="issuedTokenParameters" Type="System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> set to true.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
          <block subset="none" type="note">
            <para>Once a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object is created by calling this method, the <see cref="P:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters.KeyType" /> property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a security binding element configured to require SOAP security based client authentication using an issued token. This binding element requires the transport to provide server authentication and message protection (for example, HTTPS).</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> object.</para>
        </returns>
        <param name="issuedTokenParameters">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.ServiceModel.Security.Tokens.IssuedSecurityTokenParameters" />.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateKerberosBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateKerberosBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateKerberosBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>To do Kerberos authentication, the server must run in an account that has a service principal name registered with Active Directory. NetworkService is such an account.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to require client authentication based on the client's Kerberos token.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateKerberosOverTransportBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.TransportSecurityBindingElement CreateKerberosOverTransportBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.TransportSecurityBindingElement CreateKerberosOverTransportBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.TransportSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>To do Kerberos authentication, the server must run in an account that has a service principal name registered with Active Directory. NetworkService is such an account.</para>
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> set to true. The <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a security binding element that is configured to require SOAP-security based client authentication using the client's Kerberos token. This binding element requires the transport to provide server authentication and message protection (for example, HTTPS).</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateMutualCertificateBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SecurityBindingElement CreateMutualCertificateBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SecurityBindingElement CreateMutualCertificateBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The binding is configured so that a new random symmetric key (encrypted for the server) is generated for every request by the client and is used to protect the request as well as the response from the server. The client's certificate is used as an endorsing supporting token on the request.</para>
          <para>A <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" /> is actually created.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates an asymmetric security binding element that is configured to require certificate-based client authentication as well as certificate-based server authentication.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateMutualCertificateBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SecurityBindingElement CreateMutualCertificateBindingElement (System.ServiceModel.MessageSecurityVersion version);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SecurityBindingElement CreateMutualCertificateBindingElement(class System.ServiceModel.MessageSecurityVersion version) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="version" Type="System.ServiceModel.MessageSecurityVersion" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If the version is WSSecurity10, then the binding element is configured so that the client request is signed by its certificate and encrypted with the server certificate. </para>
          <para>If the version is WSSecurity11, then the binding element is configured so that a new random symmetric key (encrypted for the server) is generated for every request by the client and is used to protect the request as well as the response from the server. The client's certificate is used as an endorsing supporting token on the request.</para>
          <block subset="none" type="note">
            <para>Once a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object is created by calling this method, the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" /> property is immutable. Calling set on it does not change it.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates an asymmetric security binding element that is configured to require certificate-based client authentication as well as certificate-based server authentication.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object.</para>
        </returns>
        <param name="version">
          <attribution license="cc4" from="Microsoft" modified="false" />The message security version.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateMutualCertificateBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SecurityBindingElement CreateMutualCertificateBindingElement (System.ServiceModel.MessageSecurityVersion version, bool allowSerializedSigningTokenOnReply);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SecurityBindingElement CreateMutualCertificateBindingElement(class System.ServiceModel.MessageSecurityVersion version, bool allowSerializedSigningTokenOnReply) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="version" Type="System.ServiceModel.MessageSecurityVersion" />
        <Parameter Name="allowSerializedSigningTokenOnReply" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <paramref name="allowSerializedSigningTokenOnReply" /> parameter, when true, enables interoperability with older versions of Web Services Enhancements (WSE).</para>
          <block subset="none" type="note">
            <para>Once a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object is created by calling this method, the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" /> property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates an asymmetric security binding element that is configured to require certificate-based client authentication as well as certificate-based server authentication.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object.</para>
        </returns>
        <param name="version">
          <attribution license="cc4" from="Microsoft" modified="false" />The message security version.</param>
        <param name="allowSerializedSigningTokenOnReply">
          <attribution license="cc4" from="Microsoft" modified="false" />true to allow a serialized signing token on the reply; otherwise, false. </param>
      </Docs>
    </Member>
    <Member MemberName="CreateMutualCertificateDuplexBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.AsymmetricSecurityBindingElement CreateMutualCertificateDuplexBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.AsymmetricSecurityBindingElement CreateMutualCertificateDuplexBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.AsymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates an asymmetric security binding element that is configured to require certificate-based client authentication as well as certificate-based server authentication. This authentication mode can be used to secure duplex message-exchange patterns and requires the service to be configured with the client certificate out of band.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateMutualCertificateDuplexBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.AsymmetricSecurityBindingElement CreateMutualCertificateDuplexBindingElement (System.ServiceModel.MessageSecurityVersion version);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.AsymmetricSecurityBindingElement CreateMutualCertificateDuplexBindingElement(class System.ServiceModel.MessageSecurityVersion version) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.AsymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="version" Type="System.ServiceModel.MessageSecurityVersion" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <block subset="none" type="note">
            <para>Once a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object is created by calling this method, the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.MessageSecurityVersion" /> property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates an asymmetric security binding element that is configured to require certificate-based client authentication as well as certificate-based server authentication. This authentication mode can be used to secure duplex message exchange patterns and requires the service to be configured with the client certificate out of band.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>An <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" /> object.</para>
        </returns>
        <param name="version">
          <attribution license="cc4" from="Microsoft" modified="false" />The message security version.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateSecureConversationBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SecurityBindingElement CreateSecureConversationBindingElement (System.ServiceModel.Channels.SecurityBindingElement binding);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SecurityBindingElement CreateSecureConversationBindingElement(class System.ServiceModel.Channels.SecurityBindingElement binding) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="binding" Type="System.ServiceModel.Channels.SecurityBindingElement" />
      </Parameters>
      <Docs>
        <param name="binding">To be added.</param>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The binding element is configured to use session-based security context tokens.</para>
          <para>The <paramref name="bootstrapSecurity" /> is used to indicate the security binding and policy used to request a secure conversation token from the service.</para>
          <para>If <paramref name="bootstrapSecurity" /> is a <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" />, the binding element returned by this method is also one, and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> is set to true; and the <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false; and the <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>Otherwise, a <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> is returned, with <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.RequireSignatureConfirmation" /> set to false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to establish a secure conversation between the client and service. The security context token issued at the end of the secure conversation handshake is used to secure the messages. The bootstrap security binding element specifies how the secure conversation handshake messages are secured.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateSecureConversationBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SecurityBindingElement CreateSecureConversationBindingElement (System.ServiceModel.Channels.SecurityBindingElement binding, bool requireCancellation);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SecurityBindingElement CreateSecureConversationBindingElement(class System.ServiceModel.Channels.SecurityBindingElement binding, bool requireCancellation) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="binding" Type="System.ServiceModel.Channels.SecurityBindingElement" />
        <Parameter Name="requireCancellation" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <param name="binding">To be added.</param>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If <paramref name="requireCancellation" /> is false, cookie-based security context tokens are issued; otherwise, session-based security context tokens are issued.</para>
          <para>The <paramref name="bootstrapSecurity" /> is used to indicate the security binding and policy used to request a SecureConversationToken from the service.</para>
          <para>If <paramref name="bootstrapSecurity" /> is a <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" />, the binding element returned by this method is also a TransportSecurityBindingElement, and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> is set to true; and the <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false; and the <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>Otherwise, a <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> is returned, with <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.RequireSignatureConfirmation" /> set to false.</para>
          <block subset="none" type="note">
            <para>When impersonation is required on wxp, use a secure session without a security context token. When security context tokens are used with impersonation an <see cref="T:System.InvalidOperationException" /> is thrown. crdefault <format type="text/html"><a href="72027d0f-146d-40c5-9d72-e94392c8bb40">Unsupported Scenarios</a></format>. crabout secure sessions, see <format type="text/html"><a href="7b50602f-d7b5-42e9-8e92-1f0413df0d8b">Secure Sessions</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to establish a secure conversation between the client and service. The security context token issued at the end of the secure conversation handshake is used to secure the messages.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object.</para>
        </returns>
        <param name="requireCancellation">
          <attribution license="cc4" from="Microsoft" modified="false" />true if cancellation is required; otherwise, false. Setting this parameter to false enables a security context token that is useful in Web farm scenarios, because in this mode the session state is encoded inside the established security context token instead of being kept in the server memory.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateSecureConversationBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SecurityBindingElement CreateSecureConversationBindingElement (System.ServiceModel.Channels.SecurityBindingElement binding, bool requireCancellation, System.ServiceModel.Security.ChannelProtectionRequirements protectionRequirements);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SecurityBindingElement CreateSecureConversationBindingElement(class System.ServiceModel.Channels.SecurityBindingElement binding, bool requireCancellation, class System.ServiceModel.Security.ChannelProtectionRequirements protectionRequirements) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="binding" Type="System.ServiceModel.Channels.SecurityBindingElement" />
        <Parameter Name="requireCancellation" Type="System.Boolean" />
        <Parameter Name="protectionRequirements" Type="System.ServiceModel.Security.ChannelProtectionRequirements" />
      </Parameters>
      <Docs>
        <param name="binding">To be added.</param>
        <param name="protectionRequirements">To be added.</param>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <paramref name="bootstrapProtectionRequirements" /> parameter enables customization of how the messages exchanged as part of the secure conversation handshake are secured.</para>
          <para>The <paramref name="bootstrapSecurity" /> is used to indicate the security binding and policy used to request a secure conversation token from the service.</para>
          <para>If <paramref name="bootstrapSecurity" /> is a <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" />, the binding element returned by this method is also a TransportSecurityBindingElement, and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> is set to true; and the <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false; and the <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>Otherwise, a <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> is returned, with <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.RequireSignatureConfirmation" /> set to false.</para>
          <block subset="none" type="note">
            <para>When impersonation is required on wxp, use a secure session without a security context token. When security context tokens are used with impersonation an <see cref="T:System.InvalidOperationException" /> is thrown. crdefault <format type="text/html"><a href="72027d0f-146d-40c5-9d72-e94392c8bb40">Unsupported Scenarios</a></format>. crabout secure sessions, see <format type="text/html"><a href="7b50602f-d7b5-42e9-8e92-1f0413df0d8b">Secure Sessions</a></format>.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to establish a secure conversation between the client and service. The security context token issued at the end of the secure conversation handshake is used to secure the messages. The bootstrap security binding element specifies how the secure conversation handshake messages are secured.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object.</para>
        </returns>
        <param name="requireCancellation">
          <attribution license="cc4" from="Microsoft" modified="false" />true if cancellation is required; otherwise, false. Setting this parameter to false enables a security context token that is useful in Web farm scenarios, because in this mode the session state is encoded inside the established security context token instead of being kept in the server memory.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateSslNegotiationBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateSslNegotiationBindingElement (bool requireClientCertificate);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateSslNegotiationBindingElement(bool requireClientCertificate) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="requireClientCertificate" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The security context token issued after the SSL negotiation is cookie based.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to do SOAP-level SSL negotiation between the client and server, noting whether a client certificate is required.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> that holds the new binding.</para>
        </returns>
        <param name="requireClientCertificate">
          <attribution license="cc4" from="Microsoft" modified="false" />true if a client certificate is required during the SSL negotiation.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateSslNegotiationBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateSslNegotiationBindingElement (bool requireClientCertificate, bool requireCancellation);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateSslNegotiationBindingElement(bool requireClientCertificate, bool requireCancellation) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="requireClientCertificate" Type="System.Boolean" />
        <Parameter Name="requireCancellation" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The security context token issued after the SSL negotiation is session based is <paramref name="requireCancellation" /> is true; otherwise, it is cookie based.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that does SOAP SSL negotiation, noting whether a client certificate and cancellation is required.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> that holds the new binding.</para>
        </returns>
        <param name="requireClientCertificate">
          <attribution license="cc4" from="Microsoft" modified="false" />true if a client certificate is required during the SSL negotiation.</param>
        <param name="requireCancellation">
          <attribution license="cc4" from="Microsoft" modified="false" />true if cancellation is required. Setting it to false enables a security context token that is useful in Web farm scenarios, because in this mode the session state is encoded inside the established security context token instead of being kept in the server memory.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateSspiNegotiationBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateSspiNegotiationBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateSspiNegotiationBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The security context token issued at the end of the SSPI negotiation is cookie based.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that does SOAP SSPI negotiation based on the Negotiate authentication package.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateSspiNegotiationBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateSspiNegotiationBindingElement (bool requireCancellation);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateSspiNegotiationBindingElement(bool requireCancellation) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="requireCancellation" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If <paramref name="requireCancellation" /> is false, the security context token issued at the end of the SSPI negotiation is cookie based; otherwise, it is session based.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that does SOAP SSPI negotiation based on the Negotiate authentication package.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
        <param name="requireCancellation">
          <attribution license="cc4" from="Microsoft" modified="false" />Specifies whether cancellation is required. Setting it to false enables a security context token that is useful in Web farm scenarios, because in this mode the session state is encoded inside the established security context token instead of being kept in the server memory.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateSspiNegotiationOverTransportBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.TransportSecurityBindingElement CreateSspiNegotiationOverTransportBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.TransportSecurityBindingElement CreateSspiNegotiationOverTransportBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.TransportSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The security context token issued at the end of SSPI negotiation is cookie based.</para>
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> set to true. The <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a security binding element that is configured for client authentication based on SOAP SSPI negotiation using the Negotiate authentication package. The binding element requires the transport to provide server authentication and message protection (for example, HTTPS).</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateSspiNegotiationOverTransportBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.TransportSecurityBindingElement CreateSspiNegotiationOverTransportBindingElement (bool requireCancellation);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.TransportSecurityBindingElement CreateSspiNegotiationOverTransportBindingElement(bool requireCancellation) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.TransportSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="requireCancellation" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If <paramref name="requireCancellation" /> is false, cookie-based security context tokens are issued; otherwise, session-based security context tokens are issued.</para>
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> set to true. The <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a security binding element that is configured for client authentication based on SOAP SSPI negotiation using the Negotiate authentication package. The binding element requires the transport to provide server authentication and message protection (for example, HTTPS).</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> object.</para>
        </returns>
        <param name="requireCancellation">
          <attribution license="cc4" from="Microsoft" modified="false" />Specifies whether cancellation is required. Setting it to false enables a security context token that is useful in Web farm scenarios, because in this mode the session state is encoded inside the established security context token instead of being kept in the server memory.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateUserNameForCertificateBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateUserNameForCertificateBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateUserNameForCertificateBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The server certificate must be configured out of band at the client.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to require user name- and password-based client authentication and certificate-based server authentication. The created binding element requires the client to be configured with a service certificate that is out-of-band before opening a communication channel with a service.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateUserNameForSslBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateUserNameForSslBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateUserNameForSslBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The security context token issued at the end of SSPI negotiation is cookie based. </para>
          <para>The client does not need to be provisioned with the server certificate because it obtains it as part of the SSL protocol.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to require user name- and password-based client authentication and certificate-based server authentication. The client authenticates the server using the SOAP-level SSL protocol.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="CreateUserNameForSslBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateUserNameForSslBindingElement (bool requireCancellation);" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.SymmetricSecurityBindingElement CreateUserNameForSslBindingElement(bool requireCancellation) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SymmetricSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="requireCancellation" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If <paramref name="requireCancellation" /> is false, stateful security context tokens are issued; otherwise, stateless security context tokens are issued.</para>
          <para>The client does not need to be provisioned with the server certificate because it obtains it as part of the SSL protocol.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a symmetric security binding element that is configured to require user name- and password-based client authentication and certificate-based server authentication. The client authenticates the server using the SOAP-level SSL protocol.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> object.</para>
        </returns>
        <param name="requireCancellation">
          <attribution license="cc4" from="Microsoft" modified="false" />Specifies whether cancellation is required. Setting it to false enables a security context token that is useful in Web farm scenarios, because in this mode the session state is encoded inside the established security context token instead of being kept in the server memory.</param>
      </Docs>
    </Member>
    <Member MemberName="CreateUserNameOverTransportBindingElement">
      <MemberSignature Language="C#" Value="public static System.ServiceModel.Channels.TransportSecurityBindingElement CreateUserNameOverTransportBindingElement ();" />
      <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.ServiceModel.Channels.TransportSecurityBindingElement CreateUserNameOverTransportBindingElement() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.TransportSecurityBindingElement</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The created binding has <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> set to true. The <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalClientSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalClientSecuritySettings.DetectReplays" /> property set to false.</para>
          <para>The <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object returned from <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.LocalServiceSettings" /> has its <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.DetectReplays" /> property set to false.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a security binding element that is configured for client authentication based on a user name and password sent as part of the SOAP message. The binding element requires the transport to provide server authentication and message protection (for example, HTTPS).</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A <see cref="T:System.ServiceModel.Channels.TransportSecurityBindingElement" /> object.</para>
        </returns>
      </Docs>
    </Member>
    <Member MemberName="DefaultAlgorithmSuite">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Security.SecurityAlgorithmSuite DefaultAlgorithmSuite { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.SecurityAlgorithmSuite DefaultAlgorithmSuite" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Security.SecurityAlgorithmSuite</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="T:System.ServiceModel.Security.SecurityAlgorithmSuite" /> object that contains numerous properties that specify security algorithms that are to be used for signing, encryption, key derivation, and other cryptographic operations. It also controls the key sizes that are used for doing these cryptographic operations.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the message encryption and key-wrap algorithms.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="EndpointSupportingTokenParameters">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Security.Tokens.SupportingTokenParameters EndpointSupportingTokenParameters { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.Tokens.SupportingTokenParameters EndpointSupportingTokenParameters" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Security.Tokens.SupportingTokenParameters</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Supporting tokens provide additional claims beyond those contained in the primary tokens for the binding. The collection returned by the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.EndpointSupportingTokenParameters" /> contains additional token parameters (<see cref="T:System.ServiceModel.Security.Tokens.SecurityTokenParameters" />) for all operations defined by an endpoint. The primary token parameters are found on either the <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> or the <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" /> (both inherit from the <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> class). In the case of the <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" />, the primary token parameters are returned by the <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.ProtectionTokenParameters" /> property. On the <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" /> element there are two parameter properties, the <see cref="P:System.ServiceModel.Channels.AsymmetricSecurityBindingElement.InitiatorTokenParameters" /> and <see cref="P:System.ServiceModel.Channels.AsymmetricSecurityBindingElement.RecipientTokenParameters" /> properties. </para>
          <block subset="none" type="note">
            <para>The properties are called parameters because they specify only the type of the security token, not the actual values. </para>
            <para>Supporting tokens can be scoped at the endpoint level, in which case they are included in all secured messages sent by the client to the service. The service enforces that all secured messages from the client contain the supporting token types configured by this property. </para>
            <para>To provide supporting tokens only for an operation (not all operations on an endpoint), use the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.OptionalOperationSupportingTokenParameters" /> property.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the endpoint that supports token parameters.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="GetProperty&lt;T&gt;">
      <MemberSignature Language="C#" Value="public override T GetProperty&lt;T&gt; (System.ServiceModel.Channels.BindingContext context) where T : class;" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance !!T GetProperty&lt;class T&gt;(class System.ServiceModel.Channels.BindingContext context) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>T</ReturnType>
      </ReturnValue>
      <TypeParameters>
        <TypeParameter Name="T">
          <Constraints>
            <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute>
          </Constraints>
        </TypeParameter>
      </TypeParameters>
      <Parameters>
        <Parameter Name="context" Type="System.ServiceModel.Channels.BindingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method gets the specified object from the base class, or from one of that class's ancestors. The object returned is usually a collection of properties, for example, an object that implements <see cref="T:System.ServiceModel.Channels.ISecurityCapabilities" />. </para>
          <para>If the SecurityBindingElement does not recognize the type of property requested, it delegates the call to the binding element stack below it, passing the binding context parameter. The types of properties that the SecurityBindingElement can provide are <see cref="T:System.ServiceModel.Channels.ISecurityCapabilities" /> and <see cref="T:System.ServiceModel.Security.IdentityVerifier" />. </para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets a specified object using the specified <see cref="T:System.ServiceModel.Channels.BindingContext" />.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The specified object from the <see cref="T:System.ServiceModel.Channels.BindingContext" /> or null if the object is not found.</para>
        </returns>
        <param name="context">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Channels.BindingContext" />.</param>
        <typeparam name="T">
          <attribution license="cc4" from="Microsoft" modified="false" />The property to get.</typeparam>
      </Docs>
    </Member>
    <Member MemberName="IncludeTimestamp">
      <MemberSignature Language="C#" Value="public bool IncludeTimestamp { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance bool IncludeTimestamp" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>If the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" /> property is true and if DetectReplays is true, indigo2 detects a replay attack.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets a value that indicates whether time stamps are included in each message. </para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="KeyEntropyMode">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Security.SecurityKeyEntropyMode KeyEntropyMode { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.ServiceModel.Security.SecurityKeyEntropyMode KeyEntropyMode" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Security.SecurityKeyEntropyMode</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.KeyEntropyMode" /> specifies how the key for tokens (such as <see cref="T:System.ServiceModel.Security.Tokens.SecurityContextSecurityToken" />) issued by the service is computed: whether it is computed based on the client key material only, on the service key material only, or on a combination of both.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the source of entropy used to create keys.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="LocalClientSettings">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Channels.LocalClientSecuritySettings LocalClientSettings { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Channels.LocalClientSecuritySettings LocalClientSettings" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.LocalClientSecuritySettings</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The settings are local in the sense that they are not the settings derived from the security policy of the service. You can get the <see cref="T:System.ServiceModel.Channels.LocalClientSecuritySettings" /> object and use it to set security properties for this binding.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the binding properties specific to local security settings used by the client.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="LocalServiceSettings">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Channels.LocalServiceSecuritySettings LocalServiceSettings { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Channels.LocalServiceSecuritySettings LocalServiceSettings" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.LocalServiceSecuritySettings</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The settings are local because they are not published as part of the security policy of the service and do not affect the client's binding. </para>
          <para>The following properties of the <see cref="T:System.ServiceModel.Channels.LocalServiceSecuritySettings" /> object can help mitigate a denial-of-service (DOS) security attack:</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.MaxCachedCookies" />: controls the maximum number of time-bounded SecurityContextTokens that are cached by the server after doing SPNEGO or SSL negotiation.</para>
            </item>
            <item>
              <para>
                <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.IssuedCookieLifetime" />: controls the lifetime of the SecurityContextTokens that are issued by the server following SPNEGO or SSL negotiation. The server caches the SecurityContextTokens for this period of time.</para>
            </item>
            <item>
              <para>
                <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.MaxPendingSessions" />: controls the maximum number of secure conversations that are established at the server but for which no application messages have been processed. This quota prevents clients from establishing secure conversations at the service, thereby causing the service to maintain state for each client, but never using them.</para>
            </item>
            <item>
              <para>
                <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.InactivityTimeout" />: controls the maximum time that the service keeps a secure conversation alive without ever receiving an application message on it. This quota prevents clients from establishing secure conversations at the service, thereby causing the service to maintain state for each client, but never using them.</para>
            </item>
          </list>
          <para>In a secure conversation session, note that both <see cref="P:System.ServiceModel.Channels.LocalServiceSecuritySettings.InactivityTimeout" /> and the ReceiveTimeout property on the binding affect session timeout. The shorter of the two determines when timeouts occur.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the binding properties specific to local security settings used by the service.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="MessageSecurityVersion">
      <MemberSignature Language="C#" Value="public System.ServiceModel.MessageSecurityVersion MessageSecurityVersion { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.MessageSecurityVersion MessageSecurityVersion" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.MessageSecurityVersion</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="T:System.ServiceModel.MessageSecurityVersion" /> contains numerous properties that specify version numbers of different security specifications used when securing messages exchanged on the channel.</para>
          <block subset="none" type="note">
            <para>Once a <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> object is created, this property is immutable. Calling set on it does not change it.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the message security version.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="OperationSupportingTokenParameters">
      <MemberSignature Language="C#" Value="public System.Collections.Generic.IDictionary&lt;string,System.ServiceModel.Security.Tokens.SupportingTokenParameters&gt; OperationSupportingTokenParameters { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IDictionary`2&lt;string, class System.ServiceModel.Security.Tokens.SupportingTokenParameters&gt; OperationSupportingTokenParameters" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.Generic.IDictionary&lt;System.String,System.ServiceModel.Security.Tokens.SupportingTokenParameters&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Supporting tokens provide additional claims beyond those contained in the primary tokens for the binding. </para>
          <para>The collection returned by the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.OperationSupportingTokenParameters" /> property contains additional token parameters (<see cref="T:System.ServiceModel.Security.Tokens.SecurityTokenParameters" />) for specific operations defined. The primary token parameters are found on either the <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" /> or the <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" /> (both inherit from the <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> class). In the case of the <see cref="T:System.ServiceModel.Channels.SymmetricSecurityBindingElement" />, the primary token parameters are returned by the <see cref="P:System.ServiceModel.Channels.SymmetricSecurityBindingElement.ProtectionTokenParameters" /> property. On the <see cref="T:System.ServiceModel.Channels.AsymmetricSecurityBindingElement" /> there are two parameter properties, the <see cref="P:System.ServiceModel.Channels.AsymmetricSecurityBindingElement.InitiatorTokenParameters" /> and <see cref="P:System.ServiceModel.Channels.AsymmetricSecurityBindingElement.RecipientTokenParameters" /> properties. </para>
          <block subset="none" type="note">
            <para>The properties are called parameters because they specify only the type of the security token, not the actual values. </para>
          </block>
          <para>Supporting tokens can be scoped at a different scope than the binding, in this case the operation, in which case they are included in all secured messages sent by the client to services that have the specified Action. </para>
          <para>To provide supporting tokens only for an operation (not all operations on an endpoint), use the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.OptionalOperationSupportingTokenParameters" /> property.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the collection of operation supporting token parameters.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="OptionalEndpointSupportingTokenParameters">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Security.Tokens.SupportingTokenParameters OptionalEndpointSupportingTokenParameters { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.ServiceModel.Security.Tokens.SupportingTokenParameters OptionalEndpointSupportingTokenParameters" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Security.Tokens.SupportingTokenParameters</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Supporting tokens provide additional claims beyond those contained in the primary tokens for the binding. Supporting tokens can be scoped at a different scope than the binding, in this case the endpoint. The service does not reject the message in case it does not contain tokens that correspond to token types specified in the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.OptionalEndpointSupportingTokenParameters" /> collection.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the optional supporting token parameters for the service endpoint.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="OptionalOperationSupportingTokenParameters">
      <MemberSignature Language="C#" Value="public System.Collections.Generic.IDictionary&lt;string,System.ServiceModel.Security.Tokens.SupportingTokenParameters&gt; OptionalOperationSupportingTokenParameters { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IDictionary`2&lt;string, class System.ServiceModel.Security.Tokens.SupportingTokenParameters&gt; OptionalOperationSupportingTokenParameters" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Collections.Generic.IDictionary&lt;System.String,System.ServiceModel.Security.Tokens.SupportingTokenParameters&gt;</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Supporting tokens provide additional claims beyond those contained in the primary tokens for the binding. Supporting tokens can be scoped at a different scope than the binding, in this case the operation. The service does not reject the message in case it does not contain tokens that correspond to token types specified in the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.OptionalOperationSupportingTokenParameters" /> collection.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the collection of optional operation supporting token parameters.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="SecurityHeaderLayout">
      <MemberSignature Language="C#" Value="public System.ServiceModel.Channels.SecurityHeaderLayout SecurityHeaderLayout { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.ServiceModel.Channels.SecurityHeaderLayout SecurityHeaderLayout" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.ServiceModel.Channels.SecurityHeaderLayout</ReturnType>
      </ReturnValue>
      <Docs>
        <value>To be added.</value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="T:System.ServiceModel.Channels.SecurityHeaderLayout" /> enumeration contains the following members:</para>
          <list type="bullet">
            <item>
              <para>
                <see cref="F:System.ServiceModel.Channels.SecurityHeaderLayout.Strict" />: Items are added to the security header according to the general principle of “declare before use”.</para>
            </item>
            <item>
              <para>
                <see cref="F:System.ServiceModel.Channels.SecurityHeaderLayout.Lax" />: Items are added to the security header in any order that conforms to WSS: SOAP Message security. </para>
            </item>
            <item>
              <para>
                <see cref="F:System.ServiceModel.Channels.SecurityHeaderLayout.LaxTimestampFirst" />: Items are added to the security header in any order that conforms to WSS: SOAP message security except that the first element in the security header must be a wsse:Timestamp element. </para>
            </item>
            <item>
              <para>
                <see cref="F:System.ServiceModel.Channels.SecurityHeaderLayout.LaxTimestampLast" />: Items are added to the security header in any order that conforms to WSS: SOAP message security except that the last element in the security header must be a wsse:Timestamp element.</para>
            </item>
          </list>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets or sets the ordering of the elements in the security header for this binding.</para>
        </summary>
      </Docs>
    </Member>
    <Member MemberName="SetIssuerBindingContextIfRequired">
      <MemberSignature Language="C#" Value="protected static void SetIssuerBindingContextIfRequired (System.ServiceModel.Security.Tokens.SecurityTokenParameters parameters, System.ServiceModel.Channels.BindingContext issuerBindingContext);" />
      <MemberSignature Language="ILAsm" Value=".method familystatic hidebysig void SetIssuerBindingContextIfRequired(class System.ServiceModel.Security.Tokens.SecurityTokenParameters parameters, class System.ServiceModel.Channels.BindingContext issuerBindingContext) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="parameters" Type="System.ServiceModel.Security.Tokens.SecurityTokenParameters" />
        <Parameter Name="issuerBindingContext" Type="System.ServiceModel.Channels.BindingContext" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Reserved for system use.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Sets the key for the token requirement property whose value is the BindingContext used to talk to the issuing party if the requirement is for an issued token.</para>
        </summary>
        <param name="parameters">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Security.Tokens.SecurityTokenParameters" />.</param>
        <param name="issuerBindingContext">
          <attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.ServiceModel.Channels.BindingContext" /> object that represents the key for the token requirement property whose value is the BindingContext used to talk to the issuing party.</param>
      </Docs>
    </Member>
    <Member MemberName="SetKeyDerivation">
      <MemberSignature Language="C#" Value="public virtual void SetKeyDerivation (bool requireDerivedKeys);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void SetKeyDerivation(bool requireDerivedKeys) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="requireDerivedKeys" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <remarks>To be added.</remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Sets a value that indicates whether derived keys are required.</para>
        </summary>
        <param name="requireDerivedKeys">
          <attribution license="cc4" from="Microsoft" modified="false" />true to require derived keys; otherwise, false. </param>
      </Docs>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Information returned by <see cref="M:System.ServiceModel.Channels.SecurityBindingElement.ToString" /> includes the <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.DefaultAlgorithmSuite" />, <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.EndpointSupportingTokenParameters" />, <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.IncludeTimestamp" />, <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.KeyEntropyMode" />, <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.OptionalEndpointSupportingTokenParameters" />, <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.SecurityHeaderLayout" />, and <see cref="P:System.ServiceModel.Channels.SecurityBindingElement.OperationSupportingTokenParameters" /> values of the current instance.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns a description of this class.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A description of the current <see cref="T:System.ServiceModel.Channels.SecurityBindingElement" /> instance.</para>
        </returns>
      </Docs>
    </Member>
  </Members>
</Type>