<verificatie> van <het element clientCertificate>
Hiermee geeft u verificatiegedrag op voor clientcertificaten die worden gebruikt door een service.
<Configuratie>
<system.serviceModel>
<Gedrag>
<serviceBehaviors>
<Gedrag>
<serviceCredentials>
<clientCertificaat>
<Verificatie>
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" />
Kenmerken en elementen
In de volgende secties worden kenmerken, onderliggende elementen en bovenliggende elementen beschreven
Kenmerken
Kenmerk | Beschrijving |
---|---|
customCertificateValidatorType | Optionele tekenreeks. Een type en assembly die worden gebruikt om een aangepast type te valideren. Dit kenmerk moet worden ingesteld wanneer certificateValidationMode is ingesteld op Custom . |
certificateValidationMode | Optionele opsomming. Hiermee geeft u een van de modi die worden gebruikt om referenties te valideren. Dit kenmerk is van het X509CertificateValidationMode type. Als dit is ingesteld op X509CertificateValidationMode.Custom, moet ook een customCertificateValidator worden opgegeven. De standaardwaarde is X509CertificateValidationMode.ChainTrust. |
includeWindowsGroups | Optionele Booleaanse waarde. Hiermee geeft u op of Windows-groepen zijn opgenomen in de beveiligingscontext. Het instellen van dit kenmerk op true heeft invloed op de prestaties, omdat dit resulteert in een volledige groepsuitbreiding. Stel dit kenmerk in op false als u de lijst met groepen waartoe een gebruiker behoort niet hoeft te maken. |
mapClientCertificateToWindowsAccount | Booleaanse. Hiermee geeft u op of de client kan worden toegewezen aan een Windows-identiteit met behulp van het certificaat. Active Directory moet zijn ingeschakeld om dit te doen. |
revocationMode | Optionele opsomming. Een van de modi die wordt gebruikt om te controleren op een ingetrokken certificaatlijsten (RCL). De standaardwaarde is Online . Deze waarde wordt genegeerd bij het gebruik van HTTP-transportbeveiliging. |
trustedStoreLocation | Optionele opsomming. Een van de twee locaties voor systeemopslag: LocalMachine of CurrentUser . Deze waarde wordt gebruikt wanneer er met de client wordt onderhandeld over een servicecertificaat. Validatie wordt uitgevoerd op basis van het vertrouwde Mensen archief in de opgegeven winkellocatie. De standaardwaarde is CurrentUser . |
kenmerk customCertificateValidatorType
Waarde | Beschrijving |
---|---|
Tekenreeks | Hiermee geeft u de typenaam en assembly en andere gegevens op die worden gebruikt om het type te vinden. |
kenmerk certificateValidationMode
Waarde | Beschrijving |
---|---|
Inventarisatie | Een van de volgende waarden: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. Zie Werken met certificaten voor meer informatie. |
kenmerk revocationMode
Waarde | Beschrijving |
---|---|
Inventarisatie | Een van de volgende waarden: NoCheck, Online, Offline. Zie Werken met certificaten voor meer informatie. |
trustedStoreLocation-kenmerk
Waarde | Beschrijving |
---|---|
Inventarisatie | Een van de volgende waarden: LocalMachine of CurrentUser . De standaardwaarde is CurrentUser . Als de clienttoepassing wordt uitgevoerd onder een systeemaccount, bevindt het certificaat zich meestal onder LocalMachine . Als de clienttoepassing wordt uitgevoerd onder een gebruikersaccount, bevindt het certificaat zich meestal in CurrentUser . |
Onderliggende elementen
Geen.
Bovenliggende elementen
Element | Beschrijving |
---|---|
<clientCertificaat> | Definieert een X.509-certificaat dat wordt gebruikt om een client te verifiëren bij een service. |
Opmerkingen
Het <authentication>
element komt overeen met de X509ClientCertificateAuthentication klasse. Hiermee kunt u aanpassen hoe clients worden geverifieerd. U kunt het certificateValidationMode
kenmerk instellen op None
, ChainTrust
, PeerOrChainTrust
, PeerTrust
of Custom
. Standaard is het niveau ingesteld op ChainTrust
, waarmee wordt aangegeven dat elk certificaat moet worden gevonden in een hiërarchie van certificaten die eindigt op een basisinstantie bovenaan de keten. Dit is de veiligste modus. U kunt de waarde ook instellen op PeerOrChainTrust
, waarmee wordt aangegeven dat zelf uitgegeven certificaten (peer trust) worden geaccepteerd, evenals certificaten die zich in een vertrouwde keten bevinden. Deze waarde wordt gebruikt bij het ontwikkelen en opsporen van fouten in clients en services, omdat zelfuitgegeven certificaten niet hoeven te worden aangeschaft bij een vertrouwde instantie. Wanneer u een client implementeert, gebruikt u in plaats daarvan de ChainTrust
waarde.
U kunt de waarde ook instellen op Custom
. Als de Custom
waarde is ingesteld, moet u het customCertificateValidatorType
kenmerk ook instellen op een assembly en type dat wordt gebruikt om het certificaat te valideren. Als u uw eigen aangepaste validator wilt maken, moet u overnemen van de abstracte X509CertificateValidator klasse. Zie Procedure: Een service maken die een aangepaste certificaatvalidator gebruikt voor meer informatie.
Voorbeeld
Met de volgende code wordt een X.509-certificaat en een aangepast validatietype in het <authentication>
element opgegeven.
<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>