<authentication> av <clientCertificate> element

Anger autentiseringsbeteenden för klientcertifikat som används av en tjänst.

<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" />

Attribut och element

I följande avsnitt beskrivs attribut, underordnade element och överordnade element

Attributes

Attribute Description
customCertificateValidatorType Valfri sträng. En typ och sammansättning som används för att verifiera en anpassad typ. Det här attributet måste anges när certificateValidationMode är inställt på Custom.
certificateValidationMode Valfri uppräkning. Anger ett av de lägen som används för att verifiera autentiseringsuppgifter. Det här attributet är av typen X509CertificateValidationMode . Om värdet är X509CertificateValidationMode.Custommåste även ett customCertificateValidator anges. Standardvärdet är X509CertificateValidationMode.ChainTrust.
includeWindowsGroups Valfritt booleskt värde. Anger om Windows-grupper ingår i säkerhetskontexten. Att ange det här attributet till true har en prestandapåverkan, eftersom det resulterar i en fullständig gruppexpansion. Ange det här attributet till false om du inte behöver upprätta listan över grupper som en användare tillhör.
mapClientCertificateToWindowsAccount Boolesk. Anger om klienten kan mappas till en Windows-identitet med hjälp av certifikatet. Active Directory måste vara aktiverat för att göra detta.
revocationMode Valfri uppräkning. Ett av de lägen som används för att söka efter en återkallad certifikatlista (RCL). Standardvärdet är Online. Det här värdet ignoreras när du använder HTTP-transportsäkerhet.
trustedStoreLocation Valfri uppräkning. En av de två systemarkivplatserna: LocalMachine eller CurrentUser. Det här värdet används när ett tjänstcertifikat förhandlas till klienten. Verifieringen utförs mot arkivet Betrodda personer på den angivna lagringsplatsen. Standardvärdet är CurrentUser.

customCertificateValidatorType-attribut

Värde Description
String Anger typnamn och sammansättning och andra data som används för att hitta typen.

certificateValidationMode-attribut

Värde Description
Uppräkning Ett av följande värden: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom.

Mer information finns i Arbeta med certifikat.

revocationMode-attribut

Värde Description
Uppräkning Ett av följande värden: NoCheck, Online, Offline. Mer information finns i Arbeta med certifikat.

trustedStoreLocation-attribut

Värde Description
Uppräkning Något av följande värden: LocalMachine eller CurrentUser. Standardvärdet är CurrentUser. Om klientprogrammet körs under ett systemkonto är certifikatet vanligtvis under LocalMachine. Om klientprogrammet körs under ett användarkonto finns certifikatet vanligtvis i CurrentUser.

Underordnade element

Ingen.

Överordnade element

Komponent Description
<klientcertifikat> Definierar ett X.509-certifikat som används för att autentisera en klient till en tjänst.

Anmärkningar

Elementet <authentication> motsvarar X509ClientCertificateAuthentication klassen. Det gör att du kan anpassa hur klienter autentiseras. Du kan ange certificateValidationMode attributet till None, ChainTrust, PeerOrChainTrust, PeerTrusteller Custom. Som standard är nivån inställd ChainTrustpå , som anger att varje certifikat måste hittas i en hierarki med certifikat som slutar på en rotutfärdare överst i kedjan. Det här är det säkraste läget. Du kan också ange värdet till PeerOrChainTrust, som anger att självutfärdade certifikat (peer-förtroende) godkänns samt certifikat som finns i en betrodd kedja. Det här värdet används vid utveckling och felsökning av klienter och tjänster eftersom självutfärdade certifikat inte behöver köpas från en betrodd utfärdare. När du distribuerar en klient använder du ChainTrust värdet i stället.

Du kan också ange värdet till Custom. När värdet anges Custom måste du också ange customCertificateValidatorType attributet till en sammansättning och typ som används för att verifiera certifikatet. Om du vill skapa en egen anpassad validator måste du ärva från den abstrakta X509CertificateValidator klassen. Mer information finns i Så här skapar du en tjänst som använder en anpassad certifikatverifierare.

Example

Följande kod anger ett X.509-certifikat och en anpassad valideringstyp i elementet <authentication> .

<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>

Se även