Udostępnij przez


<authentication> of <clientCertificate> , element

Określa zachowania uwierzytelniania dla certyfikatów klienta używanych przez usługę.

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <serviceCredentials>
            <clientCertificate>
              <authentication>

Składnia

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

Atrybuty i elementy

W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne

Attributes

Attribute Description
customCertificateValidatorType Ciąg opcjonalny. Typ i zestaw używany do sprawdzania poprawności typu niestandardowego. Ten atrybut należy ustawić, gdy certificateValidationMode jest ustawiony na Customwartość .
Certificatevalidationmode Opcjonalne wyliczenie. Określa jeden z trybów używanych do weryfikowania poświadczeń. Ten atrybut jest typu X509CertificateValidationMode . Jeśli ustawiono wartość X509CertificateValidationMode.Custom, należy również podać element customCertificateValidator . Wartość domyślna to X509CertificateValidationMode.ChainTrust.
Includewindowsgroups Opcjonalna wartość logiczna. Określa, czy grupy systemu Windows są uwzględnione w kontekście zabezpieczeń. Ustawienie tego atrybutu true na wartość ma wpływ na wydajność, ponieważ powoduje rozszerzenie pełnej grupy. Ustaw ten atrybut na false wartość , jeśli nie musisz ustanawiać listy grup, do których należy użytkownik.
mapClientCertificateToWindowsAccount Wartość logiczna. Określa, czy klient może być mapowany na tożsamość systemu Windows przy użyciu certyfikatu. Aby to zrobić, należy włączyć usługę Active Directory.
revocationMode Opcjonalne wyliczenie. Jeden z trybów używanych do sprawdzania listy odwołanych certyfikatów (RCL). Wartość domyślna to Online. Ta wartość jest ignorowana podczas korzystania z zabezpieczeń transportu HTTP.
trustedStoreLocation Opcjonalne wyliczenie. Jedna z dwóch lokalizacji magazynu systemu: LocalMachine lub CurrentUser. Ta wartość jest używana, gdy certyfikat usługi jest negocjowany dla klienta. Walidacja jest wykonywana względem magazynu Zaufane osoby w określonej lokalizacji magazynu. Wartość domyślna to CurrentUser.

customCertificateValidatorType, atrybut

Wartość Description
Sznurek Określa nazwę typu i zestaw oraz inne dane używane do znalezienia typu.

certificateValidationMode, atrybut

Wartość Description
Wyliczenie Jedna z następujących wartości: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom.

Aby uzyskać więcej informacji, zobacz Praca z certyfikatami.

revocationMode, atrybut

Wartość Description
Wyliczenie Jedna z następujących wartości: NoCheck, Online, Offline. Aby uzyskać więcej informacji, zobacz Praca z certyfikatami.

trustedStoreLocation, atrybut

Wartość Description
Wyliczenie Jedna z następujących wartości: LocalMachine lub CurrentUser. Wartość domyślna to CurrentUser. Jeśli aplikacja kliencka jest uruchomiona na koncie systemowym, certyfikat jest zwykle w obszarze LocalMachine. Jeśli aplikacja kliencka jest uruchomiona na koncie użytkownika, certyfikat jest zwykle w programie CurrentUser.

Elementy podrzędne

Żaden.

Elementy nadrzędne

Składnik Description
<certyfikat klienta> Definiuje certyfikat X.509 używany do uwierzytelniania klienta w usłudze.

Uwagi

Element <authentication> odpowiada X509ClientCertificateAuthentication klasie . Umożliwia dostosowanie sposobu uwierzytelniania klientów. Atrybut można ustawić certificateValidationMode na None, , ChainTrustPeerOrChainTrust, PeerTrust, lub Custom. Domyślnie poziom jest ustawiony na ChainTrust, który określa, że każdy certyfikat musi znajdować się w hierarchii certyfikatów kończących się urzędem głównym w górnej części łańcucha. Jest to najbardziej bezpieczny tryb. Można również ustawić wartość na PeerOrChainTrust, która określa, że certyfikaty wystawione samodzielnie (zaufanie równorzędne) są akceptowane, a także certyfikaty, które znajdują się w zaufanym łańcuchu. Ta wartość jest używana podczas opracowywania i debugowania klientów i usług, ponieważ certyfikaty wystawione samodzielnie nie muszą być kupowane z zaufanego urzędu. Podczas wdrażania klienta użyj ChainTrust wartości .

Możesz również ustawić wartość na Custom. W przypadku ustawienia wartości należy również ustawić CustomcustomCertificateValidatorType atrybut na zestaw i typ używany do weryfikacji certyfikatu. Aby utworzyć własny niestandardowy moduł sprawdzania poprawności, należy dziedziczyć z klasy abstrakcyjnej X509CertificateValidator . Aby uzyskać więcej informacji, zobacz How to: Create a Service that Employs a Custom Certificate Validator (Jak utworzyć usługę, która korzysta z niestandardowego modułu sprawdzania poprawności certyfikatów).

Example

Poniższy kod określa certyfikat X.509 i niestandardowy typ weryfikacji w elemecie <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>

Zobacz także