MessageSecurityOverHttpElement.NegotiateServiceCredential Property

Definition

Gets or sets a Boolean value that specifies whether the service credential is provisioned at the client out-of-band, or is obtained from the service to the client through a process of negotiation.

public:
 property bool NegotiateServiceCredential { bool get(); void set(bool value); };
[System.Configuration.ConfigurationProperty("negotiateServiceCredential", DefaultValue=true)]
public bool NegotiateServiceCredential { get; set; }
[<System.Configuration.ConfigurationProperty("negotiateServiceCredential", DefaultValue=true)>]
member this.NegotiateServiceCredential : bool with get, set
Public Property NegotiateServiceCredential As Boolean

Property Value

true if the service credential is provisioned at the client out-of-band; otherwise, false.

Attributes

Remarks

This property specifies whether the service credential is provisioned at the client out-of-band or is obtained from the service to the client through a process of negotiation. Such a negotiation is a precursor to the usual message exchange.

If the ClientCredentialType property is equal to Anonymous, UserName, or Certificate, setting this property to false implies that the service certificate is available at the client out-of-band, and that the client must specify the ServiceCertificate property of ServiceCredentialsElement class. This mode is interoperable with SOAP stacks that implement WS-Trust and WS-SecureConversation.

If the ClientCredentialType property is equal to Windows, setting this property to false causes a Kerberos-based authentication. This requires that the client and service be part of a Kerberos domain. This mode is interoperable with SOAP stacks that implement the Kerberos token profile (as defined at OASIS WSS TC) as well as WS-Trust and WS-SecureConversation.

When this property is true, it causes a .NET SOAP negotiation that tunnels SPNego exchange over SOAP messages.

This property indicates whether the service credential is negotiated automatically between the client and the service. If this property is true, then such negotiation occurs. If this property is false, then the service credentials must be specified at the client before communication with the service can occur.

If this property is set to false, and the binding is configured to use Windows as a client credential type, the service account must be associated with a Service Principal Name (SPN). To do this, run the service under the NETWORK SERVICE account, or LOCAL SYSTEM account. Alternatively, use the SetSpn.exe tool to create an SPN for the service account. In either case, the client must use the correct SPN in the <servicePrincipalName> element, or by using the EndpointAddress constructor. For more information, see Service Identity and Authentication.

Applies to