Partager via


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

Spécifie les paramètres permettant au proxy client d'authentifier les certificats de service obtenus à l'aide de la négociation SSL/TLS.

Hiérarchie de schéma

<system.serviceModel>
  <behaviors>
    <endpointBehaviors>
      <behavior> de <endpointBehaviors>
        <clientCredentials>
          <serviceCertificate> de <serviceCredentials>
            <authentication>, élément de <serviceCertificate>

Syntaxe

<authentication customCertificateValidatorType="String" certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline" 
trustedStoreLocation="LocalMachine/CurrentUser" />

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. Type et assembly utilisés pour valider un type personnalisé.

certificateValidationMode

Spécifie l'un de trois modes utilisés pour valider des informations d'identification. S'il est défini à Custom, un customCertificateValidator doit également être fourni. La valeur par défaut est ChainTrust.

revocationMode

Un des modes utilisés pour vérifier des listes de certificats révoqués (CRL). La valeur par défaut est Online.

trustedStoreLocation

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

<serviceCertificate>, élément de <clientCredentials>

Spécifie un certificat à utiliser lors de l'authentification d'un service au client.

Notes

L'attribut certificateValidationMode de cet élément de configuration spécifie le niveau de confiance utilisé pour authentifier les certificats. Par défaut, le niveau a la valeur ChainTrust, qui spécifie que chaque certificat doit se trouver dans une hiérarchie de certificats se terminant dans une autorité de certification approuvée 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 affecter la valeur Custom ou None. Pour utiliser la valeur Custom, vous devez également affecter à l'attribut customCertificateValidator l'assembly et le type utilisés pour valider le certificat. Pour créer un 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.

L'attribut revocationMode spécifie le mode de vérification des certificats à révoquer. La valeur par défaut est online, qui indique que les certificats sont automatiquement vérifiés pour révocation. Pour plus d'informations, consultez Working with Certificates.

Exemple

Dans l'exemple suivant, deux tâches sont effectuées : Premièrement, un certificat de service est spécifié, que le client utilise au cours de communications avec les points de terminaison dont le nom de domaine est www.contoso.com sur le protocole HTTP. Deuxièmement, le mode de révocation et l'emplacement de magasin utilisés pendant l'authentification sont définis.

<serviceCertificate>
  <defaultCertificate findValue="www.contoso.com" 
                      storeLocation="LocalMachine"
                      storeName="TrustedPeople" 
                      x509FindType="FindByIssuerDistinguishedName" />
  <scopedCertificates>
     <add targetUri="https://www.contoso.com" 
          findValue="www.contoso.com" storeLocation="LocalMachine"
                  storeName="Root" x509FindType="FindByIssuerName" />
  </scopedCertificates>
  <authentication revocationMode="Online" 
   trustedStoreLocation="LocalMachine" />
</serviceCertificate>

Voir aussi

Référence

<authentication>, élément de <clientCertificate>
X509RecipientCertificateClientElement
X509CertificateRecipientClientCredential
Authentication
X509ServiceCertificateAuthentication

Autres ressources

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