X509ClientCertificateAuthentication.RevocationMode Property

 

Gets or sets the certificate revocation mode for ChainTrust and PeerOrChainTrust X.509 certificate validation.

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

Public Property RevocationMode As X509RevocationMode

Property Value

Type: System.Security.Cryptography.X509Certificates.X509RevocationMode

One of the values in X509RevocationMode: NoCheck, Online, or Offline. The default is Online.

Exception Condition
InvalidOperationException

set when credential is read-only.

When using certificates, the system validates that the client certificate is not revoked, by checking that the client certificate is not in the revoked certificate list. This check can be performed either by checking online or by checking against a cached revocation list. Revocation checking can be turned off by setting this property to NoCheck.

For more information, seeWorking with Certificates.

The following code shows how to set this property.

' Create a service host.
Dim httpUri As New Uri("http://localhost/Calculator")
Dim sh As New ServiceHost(GetType(Calculator), httpUri)

' Create a binding that uses a certificate.
Dim b As New WSHttpBinding(SecurityMode.Message)
b.Security.Message.ClientCredentialType = _
MessageCredentialType.Certificate

' Get a reference to the authentication object.
Dim myAuthProperties As X509ClientCertificateAuthentication = _
sh.Credentials.ClientCertificate.Authentication

' Configure ChainTrust with no revocation check.
myAuthProperties.CertificateValidationMode = _
X509CertificateValidationMode.ChainTrust
myAuthProperties.RevocationMode = X509RevocationMode.NoCheck

The property can also be set in a configuration file.

<serviceCredentials>
  <clientCertificate>
     <authentication certificateValidationMode='ChainTrust'   revocationMode = 'NoCheck'/>
  </clientCertificate>
</serviceCredentials>

.NET Framework
Available since 3.0
Return to top
Show: