<authentication> des <clientCertificate>-Elements
Gibt die Authentifizierungsverhalten für Clientzertifikate an, die von einem Dienst verwendet werden.
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<serviceCredentials>
<clientCertificate>
<authentication>
Syntax
<authentication customCertificateValidatorType="namespace.typeName, [,AssemblyName] [,Version=version number] [,Culture=culture] [,PublicKeyToken=token]"
certificateValidationMode="ChainTrust/None/PeerTrust/PeerOrChainTrust/Custom"
includeWindowsGroups="Boolean"
mapClientCertificateToWindowsAccount="Boolean"
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 für die Prüfung von Anmeldeinformationen verwendeten Modi an. Dieses Attribut ist vom Typ X509CertificateValidationMode. Wenn dies auf X509CertificateValidationMode.Custom festgelegt wurde, muss auch ein customCertificateValidator bereitgestellt werden. Der Standardwert ist X509CertificateValidationMode.ChainTrust. |
includeWindowsGroups | Optionaler boolescher Wert. Gibt an, ob Windows-Gruppen im Sicherheitskontext enthalten sind. Wird dieses Attribut auf true festgelegt, hat dies Auswirkungen auf die Leistung, da dabei eine vollständige Gruppenerweiterung durchgeführt wird. Legen Sie dieses Attribut auf false fest, wenn Sie die Liste der Gruppen, zu denen ein Benutzer gehört, nicht angeben müssen. |
mapClientCertificateToWindowsAccount | Boolesch. Gibt an, ob der Client mithilfe des Zertifikats einer Windows-Identität zugeordnet werden kann. Active Directory muss dafür aktiviert sein. |
revocationMode | Optionale Enumeration. Einer der Modi zum Prüfen auf eine Liste gesperrter Zertifikate. Der Standardwert ist Online . Dieser Wert wird ignoriert, wenn HTTP-Transportsicherheit verwendet wird. |
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. |
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 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 |
---|---|
<clientCertificate> | Definiert ein X.509-Zertifikat, das zum Authentifizieren eines Clients bei einem Dienst verwendet wird. |
Bemerkungen
Das <authentication>
-Element entspricht der X509ClientCertificateAuthentication-Klasse. Mit dem Element können Sie die Art der Clientauthentifizierung anpassen. Sie können als Wert für das certificateValidationMode
-Attribut None
, ChainTrust
, PeerOrChainTrust
, PeerTrust
oder Custom
festlegen. Standardmäßig wird die Stufe ChainTrust
verwendet, die angibt, dass jedes Zertifikat in einer Zertifizierungshierarchie zu finden sein muss, die in eine Stammzertifizierungsstelle 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
setzen. Wenn Sie den Wert Custom
verwenden, müssen Sie für das customCertificateValidatorType
-Attribut zudem ein Assembly und einen Typ, mit dem das Zertifikat überprüft wird, festlegen. Wenn Sie Ihre eigene Überprüfung erstellen möchten, müssen Sie die abstrakte X509CertificateValidator-Klasse vererben. Weitere Informationen finden Sie unter Gewusst wie: Erstellen eines Diensts, der ein benutzerdefiniertes Zertifikat-Validierungssteuerelement verwendet.
Beispiel
Der folgende Code gibt ein X.509-Zertifikat und einen benutzerdefinierten Validierungstyp im <authentication>
-Element an.
<serviceBehaviors>
<behavior name="myServiceBehavior">
<clientCertificate>
<certificate findValue="www.cohowinery.com"
storeLocation="CurrentUser"
storeName="TrustedPeople"
x509FindType="FindByIssuerName" />
<authentication customCertificateValidatorType="MyTypes.Coho"
certificateValidationMode="Custom"
revocationMode="Offline"
includeWindowsGroups="false"
mapClientCertificateToWindowsAccount="true" />
</clientCertificate>
</behavior>
</serviceBehaviors>
Siehe auch
- X509ClientCertificateAuthentication
- X509CertificateValidationMode
- Authentication
- Authentication
- X509ClientCertificateAuthenticationElement
- Sicherheitsverhalten
- Vorgehensweise: Erstellen eines Diensts, der ein benutzerdefiniertes Zertifikatsvalidierungssteuerelement verwendet
- Verwenden von Zertifikaten