<<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 Custom wartość . |
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
, , ChainTrust
PeerOrChainTrust
, 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 najbezpieczniejszy tryb. Można również ustawić PeerOrChainTrust
wartość 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>