<authentication> des <serviceCertificate>-Elements
Gibt die vom Clientproxy zum Authentifizieren von Dienstzertifikaten verwendeten Einstellungen an, die mittels SSL/TLS-Verhandlung abgerufen werden.
Schemahierarchie
<<system.serviceModel>>
<behaviors>
<endpointBehaviors>
<behavior> von <endpointBehaviors>
<clientCredentials>
<serviceCertificate> von <serviceCredentials>
<authentication> des <serviceCertificate>-Elements
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 und übergeordnete Elemente beschrieben.
Attribute
Attribut | Beschreibung |
---|---|
customCertificateValidatorType |
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 ist ChainTrust. |
revocationMode |
Einer der Modi zum Prüfen auf eine Liste gesperrter Zertifikate. Die Standardeinstellung ist Online. |
trustedStoreLocation |
Einer der zwei 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. |
Untergeordnete Elemente
Keine.
Übergeordnete Elemente
Element | Beschreibung |
---|---|
Gibt ein Zertifikat an, das Sie zum Authentifizieren eines Diensts beim Client verwenden können. |
Hinweise
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 How To: Create a Service Employing a Custom Certificate Validator.
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 Working with Certificates.
Beispiel
In folgendem Beispiel werden zwei Aufgaben ausgeführt. Das folgende Beispiel gibt zunächst ein Dienstzertifikat für den Client an, das bei der Kommunikation mit Endpunkten, deren Domänenname www.contoso.com ist, über das HTTP-Protokoll verwendet wird. 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="https://www.contoso.com"
findValue="www.contoso.com" storeLocation="LocalMachine"
storeName="Root" x509FindType="FindByIssuerName" />
</scopedCertificates>
<authentication revocationMode="Online"
trustedStoreLocation="LocalMachine" />
</serviceCertificate>
Siehe auch
Verweis
<authentication> des <clientCertificate>-Elements
X509RecipientCertificateClientElement
X509CertificateRecipientClientCredential
Authentication
X509ServiceCertificateAuthentication
Weitere Ressourcen
Security Behaviors in WCF
Working with Certificates
How To: Create a Service Employing a Custom Certificate Validator
Securing Clients
Securing Services and Clients