System.ServiceModel 4.0.0.0 System.ServiceModel.Channels.SecurityBindingElement System.ServiceModel.Description.IPolicyExportExtension

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

## To add this class to a binding

1. Create a .

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

3. Add the created elements in the preceding order to the using the method.

4. Create an instance of and add it to the collection.

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

Before using this class, you should determine if a standard binding meets your security requirements.

Once an instance of this object is created, you should treat the properties of its base class 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 run-time failure being the only indication of an issue. Two properties known to behave this way are and . There may be other properties this is true of.

Represents a custom binding element that supports channel security using asymmetric encryption. This binding element signs the message using the sender's authentication token and encrypts the message using the recipient's token.

- Constructor
  4.0.0.0

  The following members are set by this constructor:

  Member

  Value

  false

  null

  null

  false

  Creates an instance of this class.

- Constructor
  4.0.0.0

  The following members are set by this constructor:

  Member

  Value

  false

  null

  false

  Initializes a new instance of with the specified recipient token parameters.

  Defines the token for the recipient (for example, the server's X.509 certificate).
- Constructor
  4.0.0.0

  The following members are set by this constructor:

  Member

  Value

  false

  false

  Initializes a new instance of with the specified recipient and initiator token parameters.

  Defines the token for the recipient (for example the server's X.509 certificate).
  Defines the token for the initiator (for example, the client's X.509 certificate).
- Property
  4.0.0.0
  System.Boolean To be added.

  This flag is intended to enable interoperability with some older implementations of WS-Security (for example, WSE 2.0).

  Gets or sets a value that indicates whether serializing a signing token on a reply message is allowed.

- Method
  4.0.0.0
  System.ServiceModel.Channels.IChannelFactory<TChannel> `` To be added. To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.ServiceModel.Channels.IChannelListener<TChannel> ReferenceTypeConstraint System.ServiceModel.Channels.IChannel `` To be added. To be added. To be added. To be added. To be added.
- Method
  4.0.0.0
  System.ServiceModel.Channels.BindingElement

  This creates a complete copy of the current binding element object tree, also called a deep clone. A deep clone of an object creates a copy of the object and a copy of everything directly or indirectly referenced by that object. (This can also be described as copying the entire object graph.) Returning a deep clone enables the runtime to support the case in which multiple custom bindings share a custom binding element. If a deep clone is not returned, the run-time behavior is undefined.

  A shallow clone of an object, by contrast, is a copy of the object only. If the object contains references to other objects, the shallow copy does not create copies of the referred objects; instead, it copies only the references to the original objects.

  Creates a new instance of this class initialized from the current one.

  A object with property values equal to those of the current instance.

- 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 that is returned is usually a collection of properties, for example an object that implements .

  Gets a specified object from the .

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

  A . The type of the object to get.
- Property
  4.0.0.0
  System.ServiceModel.Security.Tokens.SecurityTokenParameters To be added.

  This property gets and sets a class that contains the properties for the token of the party that initiates communication.

  Specifies the token definition for the initiator.

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

  If there is nothing in the message that is encrypted, the signature element is not encrypted even when the property is set to . This behavior occurs even with system-provided bindings. However the WSDL generated by indigo2 still contains the <sp:EncryptSignature> assertion.

  For a listing of the members and their descriptions, see .

  Gets or sets the order of message encryption and signing for this binding.

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

  This property gets and sets a class that contains the properties for the token of the party that receives the communication.

  Specifies the token definition for the recipient.

- Property
  4.0.0.0
  System.Boolean To be added.

  This property specifies whether the request signatures must be confirmed as part of the response. If the value is true, then the server includes and signs, in the response, all the signatures included in the request.

  Gets or sets a value that indicates whether message signatures must be confirmed.

- Method
  4.0.0.0
  System.Void ``

  A derived key is created from an existing key and makes it possible to vary the key used in the course of a conversation. This makes it more difficult for a hacker to decrypt the communication.

  Sets a value that indicates whether derived keys are required.

  true if derived keys are required; otherwise, false.
- Method
  4.0.0.0
  System.Void `` `` To be added.

  This method writes binding-related statements into the WSDL information exposed by a particular contract and is used by indigo1 to communicate to clients the existence of this custom binding element in the binding stack.

  This method takes two parameters: the and objects. Use the , , and methods to obtain collections of policy assertions that have already been exported at various scopes. Then use this method to add your own policy assertions to the appropriate collection.

  The property exposes the for the endpoint that is being exported. This allows this method to correctly scope their exported policy assertions. For example, security attributes in code may add behaviors to the that indicate where security policy assertions should be added.

  Once custom policy assertions are attached to the WSDL information, clients can detect and import the custom binding assertions by implementing an interface.

  Exports a custom policy assertion about bindings, which is added to the Web Services Description Language (WSDL) information.

  The that you can use to modify the exporting process.
- Method
  4.0.0.0
  System.String

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

  Returns a string that represents this instance.

  The current instance.