<peerAuthentication>-Element

Gibt die Authentifizierungsoptionen für Peer-to-Peer-Clients an.

Weitere Informationen zur Peer-to-Peer-Programmierung finden Sie unter Peer-to-Peer-Netzwerke.

<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <clientCredentials>
            <peer>
              <peerAuthentication>

Syntax

<peerAuthentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
                    certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
                    revocationMode="NoCheck/Online/Offline"
                    trustedStoreLocation="CurrentUser/LocalMachine" />

Attribute und Elemente

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

Attribute

attribute BESCHREIBUNG
customCertificateValidatorType Optionale Zeichenfolge. Ein Typ und eine Assembly, die zum Überprüfen eines benutzerdefinierten Typs verwendet werden. Das Attribut muss festgelegt werden, wenn für certificateValidationMode der Wert Custom festgelegt wurde.
certificateValidationMode Optionale Enumeration. Gibt einen der drei für die Überprüfung von Anmeldeinformationen verwendeten Modi an. Wenn dies auf Custom festgelegt wurde, muss auch ein customCertificateValidator bereitgestellt werden. Der Standardwert ist ChainTrust.
revocationMode Optionale Enumeration. Einer der Modi zum Prüfen auf eine Liste gesperrter Zertifikate. Der Standardwert ist Online.
trustedStoreLocation Optionale Enumeration. 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.

customCertificateValidatorType-Attribut

Wert BESCHREIBUNG
String Gibt den vollständigen Typnamen und die Assembly sowie weitere Daten zum Suchen des Typs an. Mindestens ein Namespace und Typname sind erforderlich. Zu den optionalen Informationen zählen: Assemblyname, Versionsnummer, Kultur und Token des öffentlichen Schlüssels.

certificateValidationMode-Attribut

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

Weitere Informationen finden Sie unter Arbeiten mit Zertifikaten.

revocationMode-Attribut

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

Weitere Informationen finden Sie unter Arbeiten mit Zertifikaten.

trustedStoreLocation-Attribut

Wert BESCHREIBUNG
Enumeration Einer der folgenden Werte: LocalMachine oder CurrentUser. Der Standardwert ist 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
<peer> Gibt Anmeldeinformationen an, die zur Authentifizierung des Clients bei einem Peerdienst verwendet werden.

Bemerkungen

Das <authentication>-Element entspricht der X509PeerCertificateAuthentication-Klasse. Mit diesem Element wird ein Validierungssteuerelement angegeben, das bei Nachbar-zu-Nachbar-Authentifizierung im Mesh aufgerufen wird. Versucht ein neuer Peer, eine Nachbarverbindung herzustellen, übergibt er seine eigenen Anmeldeinformationen an den antwortenden Peer. Das Validierungssteuerelement des antwortenden Peers wird aufgerufen, um die Anmeldeinformationen der Remotepartei zu überprüfen. Bei jeder Herstellung einer Peerverbindung im Mesh werden beide Peers gegenseitig authentifziert, das heißt, die Validierungssteuerelemente werden an beiden Enden aufgerufen.

Beispiel

Mit dem folgenden Code wird der Zertifikatprüfmodus auf PeerOrChainTrust festgelegt.

<behaviors>
  <endpointBehaviors>
    <behavior name="MyEndpointBehavior">
      <clientCredentials>
        <peer>
          <certificate findValue="www.contoso.com"
                       storeLocation="LocalMachine"
                       x509FindType="FindByIssuerName" />
          <peerAuthentication certificateValidationMode="PeerOrChainTrust" />
          <messageSenderAuthentication certificateValidationMode="None" />
        </peer>
      </clientCredentials>
    </behavior>
  </endpointBehaviors>
</behaviors>

Siehe auch