Export (0) Print
Expand All

X509ClientCertificateAuthentication.TrustedStoreLocation Property

Gets or sets the trusted store location under which context the client certificate chain is validated.

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

public StoreLocation TrustedStoreLocation { get; set; }

Property Value

Type: System.Security.Cryptography.X509Certificates.StoreLocation
The trusted store location under which context the client certificate chain is validated.

ExceptionCondition
InvalidOperationException

set when credential is read-only.

This property specifies whether machine or user context is used to verify the X.509 certificate chain.

// Create a service host.
Uri httpUri = new Uri("http://localhost/Calculator");
ServiceHost sh = new ServiceHost(typeof(Calculator), httpUri);

// Create a binding that uses a certificate.
WSHttpBinding b = new WSHttpBinding(SecurityMode.Message);
b.Security.Message.ClientCredentialType =
    MessageCredentialType.Certificate; 

// Get a reference to the authentication object.
X509ClientCertificateAuthentication myAuthProperties =
    sh.Credentials.ClientCertificate.Authentication;
// Configure peer trust.
myAuthProperties.CertificateValidationMode =
    X509CertificateValidationMode.PeerTrust;
myAuthProperties.TrustedStoreLocation =
    StoreLocation.LocalMachine;

The property can also be set in a configuration file.

<serviceCredentials>
  <clientCertificate>
     <authentication certificateValidationMode='ChainTrust'   trustedStoreLocation = 'LocalMachine'/>
  </clientCertificate>
</serviceCredentials>

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Show:
© 2015 Microsoft