MessageProtectionOrder Property
Collapse the table of content
Expand the table of content

SymmetricSecurityBindingElement.MessageProtectionOrder Property


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

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

public MessageProtectionOrder MessageProtectionOrder { get; set; }

Property Value

Type: System.ServiceModel.Security.MessageProtectionOrder

The MessageProtectionOrder that specifies how the message is protected. The default is SignBeforeEncrypt.

Exception Condition

set and value is undefined.


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

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

The following code shows how to set this property.

// Create a SymmetricSecurityBindingElement.
SymmetricSecurityBindingElement ssbe = 
    new SymmetricSecurityBindingElement();

// Set the algorithm suite to one that uses 128-bit keys.
ssbe.DefaultAlgorithmSuite = SecurityAlgorithmSuite.Basic128;

   // Set MessageProtectionOrder to SignBeforeEncrypt.
ssbe.MessageProtectionOrder = MessageProtectionOrder.SignBeforeEncrypt;

.NET Framework
Available since 3.0
Return to top
© 2016 Microsoft