System.ServiceModel 4.0.0.0 System.ServiceModel.Channels.BindingElement

This class is the base class for the SOAP message security binding elements in indigo2. There are three implementations of this abstract class: , , and . These implementations model the bindings defined in the WS-Security Policy specification.

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.

To add this class to a binding, do the following:

Create a .

Create a custom binding element that is above this binding element in the binding stack, such as the optional and .

Add these elements in the order previously described to the using the method.

Create an instance of a security binding element derived from , such as , , or .

Add the derived security binding element to the collection.

Add any additional custom binding elements to the collection, such as .

crabout using a , see SecurityBindingElement Authentication Modes and How To: Create a Custom Binding Using the SecurityBindingElement.

Once a 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 and . There may be other properties of which this is also true.

An abstract class that, when implemented, represents a binding element that supports channel SOAP message security.

- Method
  4.0.0.0
  System.ServiceModel.Channels.IChannelFactory<TChannel> ``

  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).

  This method does parameter error-checking, and then calls . 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.

  Creates a channel factory based on the 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).

  A channel factory based on the settings and the binding context passed in.

  The . The type of channel factory.
- Method
  4.0.0.0
  System.ServiceModel.Channels.IChannelFactory<TChannel> ``

  , 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.

  When implemented, creates a channel factory of a specified type.

  A channel factory of a specified type.

  The . The type of channel factory.
- Method
  4.0.0.0
  System.ServiceModel.Channels.IChannelListener<TChannel> ReferenceTypeConstraint System.ServiceModel.Channels.IChannel ``

  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.

  This method does parameter error-checking, and then calls . 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.

  Creates a channel listener based on the settings and the binding context passed in.

  A channel listener based on the settings and the binding context passed in.

  The . The type of channel listener.
- Method
  4.0.0.0
  System.ServiceModel.Channels.IChannelListener<TChannel> ReferenceTypeConstraint System.ServiceModel.Channels.IChannel ``

  , 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.

  When implemented, creates a channel listener of a specified type.

  A channel listener of a specified type.

  The object. The type of channel listener.
- Method
  4.0.0.0
  System.Boolean ``

  You should call this method before trying to create a channel factory.

  Determines whether a channel factory of the specified type can be built.

  true if a channel factory of the specified type can be built; otherwise, false.

  The . The type of channel factory.
- Method
  4.0.0.0
  System.Boolean ReferenceTypeConstraint System.ServiceModel.Channels.IChannel ``

  You should call this method before trying to create a channel listener.

  Determines whether a channel listener of the specified type can be built.

  true if a channel listener of the specified type can be built; otherwise, false.

  The . The type of channel listener.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement

  The client and server must be configured out of band with the service certificate.

  The binding is created with set to and set to true.

  Creates a symmetric security binding element that is configured for anonymous client authentication and certificate-based server authentication.

  A that holds the new binding.

- Method
  4.0.0.0
  System.ServiceModel.Channels.TransportSecurityBindingElement

  This binding element expects the transport to provide server authentication as well as message protection (for example, HTTPS).

  The binding element is configured to use the property of the class.

  The created binding has set to true.

  The object returned from has its property set to false.

  The object returned from has its property set to false.

  Creates a security binding element that expects clients to do certificate-based authentication using SOAP message security.

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.TransportSecurityBindingElement ``

  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 .

  The created binding has set to true.

  The object returned from has its property set to false.

  The object returned from has its property set to false.

  Creates a security binding element that expects clients to do certificate-based authentication using SOAP message security.

  A object.

  The for the binding.
- Method
  4.0.0.0
  System.ServiceModel.Channels.AsymmetricSecurityBindingElement

  The object returned from has its property set to false.

  This binding element requires the client to configure a certificate for authentication purposes.

  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.

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement ``

  The issued token parameters must have a symmetric key type.

  Once a object is created by calling this method, the property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.

  Creates a symmetric security binding element that is configured to require client authentication using a symmetric-key based issued token.

  A object.

  A that represents the symmetric-key based issued token.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement ``

  The issued token can have a symmetric or an asymmetric key. The client and server must be provisioned with the server's certificate.

  The created binding has set to true and set to .

  Once a object is created by calling this method, the property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.

  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.

  A object.

  An that represents the symmetric-key based issued token.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement ``

  The server issues a cookie-based security context token at the end of the SSL protocol.

  The created binding has set to true and set to .

  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.

  A object.

  An .
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement `` ``

  The created binding has set to true and set to .

  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.

  A object.

  An . 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.
- Method
  4.0.0.0
  System.ServiceModel.Channels.TransportSecurityBindingElement ``

  The created binding has set to true.

  The object returned from has its property set to false.

  The object returned from has its property set to false.

  Once a object is created by calling this method, the property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.

  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).

  A object.

  An .
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement

  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.

  Creates a symmetric security binding element that is configured to require client authentication based on the client's Kerberos token.

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.TransportSecurityBindingElement

  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.

  The created binding has set to true. The object returned from has its property set to false.

  The object returned from has its property set to false.

  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).

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.SecurityBindingElement

  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.

  A is actually created.

  Creates an asymmetric security binding element that is configured to require certificate-based client authentication as well as certificate-based server authentication.

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.SecurityBindingElement ``

  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.

  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.

  Once a object is created by calling this method, the property is immutable. Calling set on it does not change it.

  Creates an asymmetric security binding element that is configured to require certificate-based client authentication as well as certificate-based server authentication.

  A object.

  The message security version.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SecurityBindingElement `` ``

  The parameter, when true, enables interoperability with older versions of Web Services Enhancements (WSE).

  Once a object is created by calling this method, the property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.

  Creates an asymmetric security binding element that is configured to require certificate-based client authentication as well as certificate-based server authentication.

  A object.

  The message security version. true to allow a serialized signing token on the reply; otherwise, false.
- Method
  4.0.0.0
  System.ServiceModel.Channels.AsymmetricSecurityBindingElement To be added.

  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.

  An object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.AsymmetricSecurityBindingElement ``

  Once a object is created by calling this method, the property should be treated as immutable. Inconsistent binding behavior may occur if this value is modified.

  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.

  An object.

  The message security version.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SecurityBindingElement `` To be added.

  The binding element is configured to use session-based security context tokens.

  The is used to indicate the security binding and policy used to request a secure conversation token from the service.

  If is a , the binding element returned by this method is also one, and is set to true; and the object returned from has its property set to false; and the object returned from has its property set to false.

  Otherwise, a is returned, with set to false.

  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.

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.SecurityBindingElement `` `` To be added.

  If is false, cookie-based security context tokens are issued; otherwise, session-based security context tokens are issued.

  The is used to indicate the security binding and policy used to request a SecureConversationToken from the service.

  If is a , the binding element returned by this method is also a TransportSecurityBindingElement, and is set to true; and the object returned from has its property set to false; and the object returned from has its property set to false.

  Otherwise, a is returned, with set to false.

  When impersonation is required on wxp, use a secure session without a security context token. When security context tokens are used with impersonation an is thrown. crdefault Unsupported Scenarios. crabout secure sessions, see Secure Sessions.

  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.

  A object.

  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.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SecurityBindingElement `` `` `` To be added. To be added.

  The parameter enables customization of how the messages exchanged as part of the secure conversation handshake are secured.

  The is used to indicate the security binding and policy used to request a secure conversation token from the service.

  If is a , the binding element returned by this method is also a TransportSecurityBindingElement, and is set to true; and the object returned from has its property set to false; and the object returned from has its property set to false.

  Otherwise, a is returned, with set to false.

  When impersonation is required on wxp, use a secure session without a security context token. When security context tokens are used with impersonation an is thrown. crdefault Unsupported Scenarios. crabout secure sessions, see Secure Sessions.

  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.

  A object.

  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.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement ``

  The security context token issued after the SSL negotiation is cookie based.

  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.

  A that holds the new binding.

  true if a client certificate is required during the SSL negotiation.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement `` ``

  The security context token issued after the SSL negotiation is session based is is true; otherwise, it is cookie based.

  Creates a symmetric security binding element that does SOAP SSL negotiation, noting whether a client certificate and cancellation is required.

  A that holds the new binding.

  true if a client certificate is required during the SSL negotiation. 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.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement

  The security context token issued at the end of the SSPI negotiation is cookie based.

  Creates a symmetric security binding element that does SOAP SSPI negotiation based on the Negotiate authentication package.

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement ``

  If is false, the security context token issued at the end of the SSPI negotiation is cookie based; otherwise, it is session based.

  Creates a symmetric security binding element that does SOAP SSPI negotiation based on the Negotiate authentication package.

  A object.

  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.
- Method
  4.0.0.0
  System.ServiceModel.Channels.TransportSecurityBindingElement

  The security context token issued at the end of SSPI negotiation is cookie based.

  The created binding has set to true. The object returned from has its property set to false.

  The object returned from has its property set to false.

  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).

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.TransportSecurityBindingElement ``

  If is false, cookie-based security context tokens are issued; otherwise, session-based security context tokens are issued.

  The created binding has set to true. The object returned from has its property set to false.

  The object returned from has its property set to false.

  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).

  A object.

  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.
- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement

  The server certificate must be configured out of band at the client.

  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.

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement

  The security context token issued at the end of SSPI negotiation is cookie based.

  The client does not need to be provisioned with the server certificate because it obtains it as part of the SSL protocol.

  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.

  A object.

- Method
  4.0.0.0
  System.ServiceModel.Channels.SymmetricSecurityBindingElement ``

  If is false, stateful security context tokens are issued; otherwise, stateless security context tokens are issued.

  The client does not need to be provisioned with the server certificate because it obtains it as part of the SSL protocol.

  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.

  A object.

  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.
- Method
  4.0.0.0
  System.ServiceModel.Channels.TransportSecurityBindingElement

  The created binding has set to true. The object returned from has its property set to false.

  The object returned from has its property set to false.

  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).

  A object.

- Property
  4.0.0.0
  System.ServiceModel.Security.SecurityAlgorithmSuite To be added.

  The 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.

  Gets or sets the message encryption and key-wrap algorithms.

- Property
  4.0.0.0
  System.ServiceModel.Security.Tokens.SupportingTokenParameters To be added.

  Supporting tokens provide additional claims beyond those contained in the primary tokens for the binding. The collection returned by the contains additional token parameters () for all operations defined by an endpoint. The primary token parameters are found on either the or the (both inherit from the class). In the case of the , the primary token parameters are returned by the property. On the element there are two parameter properties, the and properties.

  The properties are called parameters because they specify only the type of the security token, not the actual values.

  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.

  To provide supporting tokens only for an operation (not all operations on an endpoint), use the property.

  Gets the endpoint that supports token parameters.

- Method
  4.0.0.0
  T ReferenceTypeConstraint ``

  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 .

  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 and .

  Gets a specified object using the specified .

  The specified object from the or null if the object is not found.

  The . The property to get.
- Property
  4.0.0.0
  System.Boolean To be added.

  If the property is true and if DetectReplays is true, indigo2 detects a replay attack.

  Gets or sets a value that indicates whether time stamps are included in each message.

- Property
  4.0.0.0
  System.ServiceModel.Security.SecurityKeyEntropyMode To be added.

  The specifies how the key for tokens (such as ) 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.

  Gets or sets the source of entropy used to create keys.

- Property
  4.0.0.0
  System.ServiceModel.Channels.LocalClientSecuritySettings To be added.

  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 object and use it to set security properties for this binding.

  Gets the binding properties specific to local security settings used by the client.

- Property
  4.0.0.0
  System.ServiceModel.Channels.LocalServiceSecuritySettings To be added.

  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.

  The following properties of the object can help mitigate a denial-of-service (DOS) security attack:

  : controls the maximum number of time-bounded SecurityContextTokens that are cached by the server after doing SPNEGO or SSL negotiation.

  : 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.

  : 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.

  : 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.

  In a secure conversation session, note that both and the ReceiveTimeout property on the binding affect session timeout. The shorter of the two determines when timeouts occur.

  Gets the binding properties specific to local security settings used by the service.

- Property
  4.0.0.0
  System.ServiceModel.MessageSecurityVersion To be added.

  The contains numerous properties that specify version numbers of different security specifications used when securing messages exchanged on the channel.

  Once a object is created, this property is immutable. Calling set on it does not change it.

  Gets or sets the message security version.

- Property
  4.0.0.0
  System.Collections.Generic.IDictionary<System.String,System.ServiceModel.Security.Tokens.SupportingTokenParameters> To be added.

  Supporting tokens provide additional claims beyond those contained in the primary tokens for the binding.

  The collection returned by the property contains additional token parameters () for specific operations defined. The primary token parameters are found on either the or the (both inherit from the class). In the case of the , the primary token parameters are returned by the property. On the there are two parameter properties, the and properties.

  The properties are called parameters because they specify only the type of the security token, not the actual values.

  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.

  To provide supporting tokens only for an operation (not all operations on an endpoint), use the property.

  Gets the collection of operation supporting token parameters.

- Property
  4.0.0.0
  System.ServiceModel.Security.Tokens.SupportingTokenParameters To be added.

  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 collection.

  Gets the optional supporting token parameters for the service endpoint.

- Property
  4.0.0.0
  System.Collections.Generic.IDictionary<System.String,System.ServiceModel.Security.Tokens.SupportingTokenParameters> To be added.

  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 collection.

  Gets the collection of optional operation supporting token parameters.

- Property
  4.0.0.0
  System.ServiceModel.Channels.SecurityHeaderLayout To be added.

  The enumeration contains the following members:

  : Items are added to the security header according to the general principle of “declare before use”.

  : Items are added to the security header in any order that conforms to WSS: SOAP Message security.

  : 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.

  : 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.

  Gets or sets the ordering of the elements in the security header for this binding.

- Method
  4.0.0.0
  System.Void `` ``

  Reserved for system use.

  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.

  The . The object that represents the key for the token requirement property whose value is the BindingContext used to talk to the issuing party.
- Method
  4.0.0.0
  System.Void `` To be added.

  Sets a value that indicates whether derived keys are required.

  true to require derived keys; otherwise, false.
- Method
  4.0.0.0
  System.String

  Information returned by includes the , , , , , , and values of the current instance.

  Returns a description of this class.

  A description of the current instance.