Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

SymmetricSecurityBindingElement Class

Represents a custom binding element that supports channel security using symmetric encryption.

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)

public sealed class SymmetricSecurityBindingElement : SecurityBindingElement, 

The SymmetricSecurityBindingElement type exposes the following members.

Public methodSymmetricSecurityBindingElement()Initializes a new instance of the SymmetricSecurityBindingElement class.
Public methodSymmetricSecurityBindingElement(SecurityTokenParameters)Initializes a new instance of the SymmetricSecurityBindingElement class using specified security token parameters.

Public propertyAllowInsecureTransportGets or sets a value that indicates whether mixed-mode secured messages can be sent over an unsecured transport such as HTTP. (Inherited from SecurityBindingElement.)
Public propertyDefaultAlgorithmSuiteGets or sets the message encryption and key-wrap algorithms. (Inherited from SecurityBindingElement.)
Public propertyEnableUnsecuredResponseGets or sets a value that indicates whether WCF can send and receive unsecured responses to secured requests. (Inherited from SecurityBindingElement.)
Public propertyEndpointSupportingTokenParametersGets the endpoint that supports token parameters. (Inherited from SecurityBindingElement.)
Public propertyIncludeTimestampGets or sets a value that indicates whether time stamps are included in each message. (Inherited from SecurityBindingElement.)
Public propertyKeyEntropyModeGets or sets the source of entropy used to create keys. (Inherited from SecurityBindingElement.)
Public propertyLocalClientSettingsGets the binding properties specific to local security settings used by the client. (Inherited from SecurityBindingElement.)
Public propertyLocalServiceSettingsGets the binding properties specific to local security settings used by the service. (Inherited from SecurityBindingElement.)
Public propertyMessageProtectionOrderGets or sets the order of message encryption and signing for this binding.
Public propertyMessageSecurityVersionGets or sets the message security version. (Inherited from SecurityBindingElement.)
Public propertyOperationSupportingTokenParametersGets the collection of operation supporting token parameters. (Inherited from SecurityBindingElement.)
Public propertyOptionalEndpointSupportingTokenParametersGets the optional supporting token parameters for the service endpoint. (Inherited from SecurityBindingElement.)
Public propertyOptionalOperationSupportingTokenParametersGets the collection of optional operation supporting token parameters. (Inherited from SecurityBindingElement.)
Public propertyProtectionTokenParametersGets or sets the protection token parameters.
Public propertyProtectTokensGets or sets whether the security binding element protects tokens. (Inherited from SecurityBindingElement.)
Public propertyRequireSignatureConfirmationGets or sets a value that indicates whether message signatures must be confirmed.
Public propertySecurityHeaderLayoutGets or sets the ordering of the elements in the security header for this binding. (Inherited from SecurityBindingElement.)

Public methodBuildChannelFactory<TChannel>Creates a channel factory based on the 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). (Inherited from SecurityBindingElement.)
Public methodBuildChannelListener<TChannel>Creates a channel listener based on the SecurityBindingElement settings and the binding context passed in. (Inherited from SecurityBindingElement.)
Public methodCanBuildChannelFactory<TChannel>Determines whether a channel factory of the specified type can be built. (Inherited from SecurityBindingElement.)
Public methodCanBuildChannelListener<TChannel>Determines whether a channel listener of the specified type can be built. (Inherited from SecurityBindingElement.)
Public methodCloneCreates a new instance of this class initialized from the current one. (Overrides BindingElement.Clone().)
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetProperty<T>Gets a specified object from the BindingContext. (Overrides SecurityBindingElement.GetProperty<T>(BindingContext).)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodSetKeyDerivationSets a value that indicates whether derived keys are required. (Overrides SecurityBindingElement.SetKeyDerivation(Boolean).)
Public methodToStringReturns a string that represents this SymmetricSecurityBindingElement instance. (Overrides SecurityBindingElement.ToString().)

Explicit interface implemetationPrivate methodIPolicyExportExtension.ExportPolicyExports a custom policy assertion about bindings.

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

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

  3. Add the created elements, in the order mentioned previously, to the BindingElementCollection using the InsertItem method.

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

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


Once an instance of this object is created, you should treat the properties of its base class, SecurityBindingElement, 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 KeyType and MessageSecurityVersion. There may be other properties for which this is true.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
© 2015 Microsoft