<authentication> des <serviceCertificate>-Elements

Gibt die vom Clientproxy zum Authentifizieren von Dienstzertifikaten verwendeten Einstellungen an, die mittels SSL/TLS-Verhandlung abgerufen werden.

<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <clientCredentials>
            <serviceCertificate>
              <authentication>

Syntax

<authentication customCertificateValidatorType="String"
                certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
                revocationMode="NoCheck/Online/Offline"
                trustedStoreLocation="LocalMachine/CurrentUser" />

Attribute und Elemente

In den folgenden Abschnitten werden Attribute, untergeordnete Elemente sowie übergeordnete Elemente beschrieben.

Attribute

attribute BESCHREIBUNG
customCertificateValidatorType Eine Zeichenfolge. Ein Typ und eine Assembly, die zum Überprüfen eines benutzerdefinierten Typs verwendet werden.
certificateValidationMode Gibt einen der drei für die Überprüfung von Anmeldeinformationen verwendeten Modi an. Ist dies auf Custom festgelegt, muss außerdem ein customCertificateValidator zur Verfügung gestellt werden. Der Standardwert lautet ChainTrust.
revocationMode Einer der Modi zum Prüfen auf eine Liste gesperrter Zertifikate. Der Standardwert ist Online.
trustedStoreLocation Einer der beiden Systemspeicherorte: LocalMachine oder CurrentUser. Dieser Wert wird verwendet, wenn ein Dienstzertifikat mit dem Client ausgehandelt wird. Die Validierung wird anhand des Vertrauenswürdige Personen-Speichers am angegebenen Speicherort durchgeführt. Der Standardwert ist CurrentUser.

customCertificateValidator-Attribut

Wert BESCHREIBUNG
String Gibt den vollständigen Typnamen und die Assembly sowie weitere Daten zum Suchen des Typs an.

certificateValidationMode-Attribut

Wert BESCHREIBUNG
Enumeration Einer der folgenden Werte: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom.

Weitere Informationen finden Sie unter Arbeiten mit Zertifikaten.

revocationMode-Attribut

Wert BESCHREIBUNG
Enumeration Einer der folgenden Werte: NoCheck, Online, Offline.

Weitere Informationen finden Sie unter Arbeiten mit Zertifikaten.

trustedStoreLocation-Attribut

Wert BESCHREIBUNG
Enumeration Einer der folgenden Werte: LocalMachine oder CurrentUser. Der Standardwert lautet „CurrentUser“. Wenn die Clientanwendung über ein Systemkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in LocalMachine. Wenn die Clientanwendung über ein Benutzerkonto ausgeführt wird, befindet sich das Zertifikat in der Regel in CurrentUser.

Untergeordnete Elemente

Keine

Übergeordnete Elemente

Element BESCHREIBUNG
<serviceCertificate> Gibt ein Zertifikat an, das Sie zum Authentifizieren eines Diensts für den Client verwenden können.

Bemerkungen

Mit dem certificateValidationMode-Attribut dieses Konfigurationselements wird die Ebene der Vertrauenswürdigkeit angegeben, mit der Zertifikate authentifiziert werden. Standardmäßig wird die Ebene ChainTrust verwendet, die angibt, dass jedes Zertifikat in einer Zertifizierungshierarchie zu finden sein muss, die in eine vertrauenswürdige Zertifizierungsstelle am Anfang der Kette mündet. Dies ist der sicherste Modus. Sie können auch den Wert PeerOrChainTrust verwenden, der vorgibt, dass neben den Zertifikaten in einer Vertrauenskette auch selbst ausgestellte Zertifikate (Peervertrauen) akzeptiert werden. Sie können diesen Wert beim Entwickeln und Debuggen von Clients und Diensten verwenden, da selbst ausgestellte Zertifikate nicht von einer vertrauenswürdigen Zertifizierungsstelle bezogen werden müssen. Verwenden Sie beim Bereitstellen eines Clients jedoch den Wert ChainTrust. Sie können den Wert auch auf Custom oder None festlegen. Wenn Sie den Custom-Wert verwenden möchten, müssen Sie auch das customCertificateValidator-Attribut auf eine Assembly und einen Typ festlegen, die zur Validierung des Zertifikats verwendet werden. Wenn Sie eine eigene benutzerdefinierte Validierung erstellen möchten, müssen Sie von der abstrakten X509CertificateValidator-Klasse erben. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Diensts, der ein benutzerdefiniertes Zertifikat-Validierungssteuerelement verwendet.

Das revocationMode-Attribut gibt an, wie Zertifikate auf eine Sperre hin überprüft werden. Der Standardwert ist online, wodurch angegeben wird, dass Zertifikate automatisch auf eine Sperre hin überprüft werden. Weitere Informationen finden Sie unter Arbeiten mit Zertifikaten.

Beispiel

In folgendem Beispiel werden zwei Aufgaben ausgeführt. Zuerst wird ein Dienstzertifikat für den Client angegeben, das bei der Kommunikation über das HTTP-Protokoll mit Endpunkten verwendet wird, deren Domänenname www.contoso.com lautet. Danach gibt es den Sperrmodus und den Speicherort für die Authentifizierung an.

<serviceCertificate>
  <defaultCertificate findValue="www.contoso.com"
                      storeLocation="LocalMachine"
                      storeName="TrustedPeople"
                      x509FindType="FindByIssuerDistinguishedName" />
  <scopedCertificates>
     <add targetUri="http://www.contoso.com"
          findValue="www.contoso.com"
          storeLocation="LocalMachine"
          storeName="Root"
          x509FindType="FindByIssuerName" />
  </scopedCertificates>
  <authentication revocationMode="Online"
                  trustedStoreLocation="LocalMachine" />
</serviceCertificate>

Siehe auch