<authentication>, élément de <clientCertificate>

Spécifie les comportements d'authentification des certificats clients utilisés par un service.

Hiérarchie de schéma

<system.serviceModel>
  <behaviors>
    <serviceBehaviors>
      <behavior> de <serviceBehaviors>
        <serviceCredentials>
          <clientCertificate> de <serviceCredentials>
            <authentication>, élément de <clientCertificate>

Syntaxe

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description

customCertificateValidatorType

Chaîne facultative. Type et assembly utilisés pour valider un type personnalisé. Cet attribut doit être défini lorsque certificateValidationMode a la valeur Custom.

certificateValidationMode

Énumération facultative. Spécifie l'un des modes utilisés pour valider les informations d'identification. Cet attribut est de type System.Servicemodel.Security.X509CertificateValidationMode. S'il est affecté de la valeur Custom, customCertificateValidator doit également être fourni. La valeur par défaut est ChainTrust.

includeWindowsGroups

Valeur booléenne facultative. Spécifie si des groupes Windows sont inclus dans le contexte de sécurité. L'affectation de la valeur true à cet attribut a un impact sur les performances du fait que cela provoque une expansion de groupe complète. Affectez la valeur false à cet attribut s'il n'est pas nécessaire d'établir la liste des groupes auxquels appartient un utilisateur.

mapClientCertificateToWindowsAcccount

Valeur booléenne. Spécifie si le client peut être mappé à une identité Windows à l'aide du certificat. Active Directory doit être activé pour cela. Pour plus d'informations sur l'utilisation de la fonctionnalité Active Directory, consultez http://technet2.microsoft.com/WindowsServer/en/Library/0602148e-1a8f-4917-bb01-6fd342aba7161033.mspx (page pouvant être en anglais).

revocationMode

Énumération facultative. L'un des modes utilisés pour vérifier des listes de certificat révoqués (RCL). La valeur par défaut est Online.

trustedStoreLocation

Énumération facultative. L'un des deux emplacements du magasin du système : LocalMachine ou CurrentUser. Cette valeur est utilisée lorsqu'un certificat de service est négocié au client. La validation est exécutée sur le magasin Personnes autorisées dans l'emplacement de magasin spécifié. La valeur par défaut est CurrentUser.

Éléments enfants

Aucun.

Éléments parents

Élément Description

<clientCertificate> de <serviceCredentials>

Définit un certificat X.509 utilisé pour authentifier un client à un service.

Notes

L'élément <authentication> correspond à la classe X509ClientCertificateAuthentication. Il vous permet de personnaliser la manière dont les clients sont authentifiés. Vous pouvez affecter None, ChainTrust, PeerOrChainTrust, PeerTrust ou Custom à l'attribut certificateValidationMode. Par défaut, le niveau a la valeur ChainTrust, laquelle spécifie que chaque certificat doit se trouver dans une hiérarchie de certificats se terminant dans une autorité racine au sommet de la chaîne. C'est le mode le plus sécurisé. Vous pouvez également affecter la valeur PeerOrChainTrust, laquelle spécifie que les certificats auto-émis (approbation homologue) sont acceptés, de même que les certificats qui se trouvent dans une chaîne approuvée. Cette valeur est utilisée lors du développement et du débogage des clients et des services car il n'est pas nécessaire d'acheter les certificats auto-émis auprès d'une autorité approuvée. Lorsque vous déployez un client, utilisez à la place la valeur ChainTrust.

Vous pouvez également utiliser Custom. Lorsque vous utilisez Custom, vous devez également affecter l'assembly et le type utilisés pour valider le certificat à l'attribut customCertificateValidatorType. Pour créer votre propre validateur personnalisé, vous devez hériter de la classe X509CertificateValidator abstraite. Pour plus d'informations, consultez How To: Create a Service Employing a Custom Certificate Validator.

Exemple

Le code suivant spécifie un certificat X.509 et un type de validation personnalisé dans l'élément <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>

Voir aussi

Référence

X509ClientCertificateAuthentication
X509CertificateValidationMode
Authentication
Authentication
X509ClientCertificateAuthenticationElement

Autres ressources

Security Behaviors in WCF
How To: Create a Service Employing a Custom Certificate Validator
Working with Certificates