Udostępnij za pośrednictwem


<<uwierzytelnianie> elementu clientCertificate>

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

<Konfiguracji>
  <System.servicemodel>
    <Zachowania>
      <Servicebehaviors>
        <Zachowanie>
          <Servicecredentials>
            <Clientcertificate>
              <Uwierzytelniania>

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

Atrybuty

Atrybut Opis
customCertificateValidatorType Ciąg opcjonalny. Typ i zestaw używany do walidacji typu niestandardowego. Ten atrybut musi być ustawiony, 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 jest ustawiona wartość X509CertificateValidationMode.Custom, customCertificateValidator należy również podać wartość . 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 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 Boolean. Określa, czy klienta można zamapować 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 z klientem. Walidacja jest wykonywana względem magazynu trusted Osoby w określonej lokalizacji magazynu. Wartość domyślna to CurrentUser.

customCertificateValidatorType, atrybut

Wartość Opis
Ciąg Określa nazwę typu i zestaw oraz inne dane używane do znalezienia typu.

certificateValidationMode, atrybut

Wartość Opis
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ść Opis
Wyliczenie Jedna z następujących wartości: NoCheck, Online, Offline. Aby uzyskać więcej informacji, zobacz Praca z certyfikatami.

trustedStoreLocation, atrybut

Wartość Opis
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 zazwyczaj znajduje się w obszarze LocalMachine. Jeśli aplikacja kliencka jest uruchomiona na koncie użytkownika, certyfikat zazwyczaj znajduje się w elemecie CurrentUser.

Elementy podrzędne

Brak.

Elementy nadrzędne

Element Opis
<Clientcertificate> 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. Możesz ustawić certificateValidationMode atrybut na None, , ChainTrustPeerOrChainTrust, PeerTrustlub 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 najbezpieczniejszy tryb. Można również ustawić PeerOrChainTrustwartość na , 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 od zaufanego urzędu. Podczas wdrażania klienta należy zamiast tego użyć ChainTrust wartości .

Możesz również ustawić wartość na Custom. W przypadku ustawienia Custom wartości należy również ustawić customCertificateValidatorType atrybut na zestaw i typ używany do weryfikacji certyfikatu. Aby utworzyć własny niestandardowy moduł sprawdzania poprawności, musisz 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 certyfikatu).

Przykład

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