<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
- X509RecipientCertificateClientElement
- X509CertificateRecipientClientCredential
- Authentication
- X509ServiceCertificateAuthentication
- Sicherheitsverhalten
- Verwenden von Zertifikaten
- Vorgehensweise: Erstellen eines Diensts, der ein benutzerdefiniertes Zertifikatsvalidierungssteuerelement verwendet
- <authentication>
- Sichern von Clients
- Sichern von Diensten und Clients