Partager via


Élément <certificate> de <clientCertificate>

Spécifie un certificat X.509 utilisé pour signer et chiffrer des messages.

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

Syntaxe

<certificate findValue="String"
             storeLocation = "CurrentUser/LocalMachine"
             storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
             X509FindType="FindByThumbPrint/FindBySubjectName/FindBySubjectDistinguishedName/FindByIssuerName/FindByIssuerDistinguishedName/FindBySerialNumber/FindByTimeValid/FindByTimeNotYetValid/FindByTemplateName/FindByApplicationPolicy/FindByCertificatePolicy/FindByExtension/FindByKeyUsage/FindBySubjectKeyIdentifier" />

Attributs et éléments

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

Attributs

Attribut Description
findValue Chaîne qui contient la valeur à rechercher dans le magasin de certificats X.509. Le type contenu dans l'attribut doit satisfaire les spécifications du X509FindType spécifié. La valeur par défaut est une chaîne vide.
storeLocation Spécifie l'emplacement du magasin de certificats X.509 que le client utilise pour valider le certificat du serveur. Les valeurs valides sont les suivantes :

- LocalMachine : magasin de certificats assigné à l’ordinateur local.
- CurrentUser : magasin de certificats assigné à l’utilisateur actuel.

La valeur par défaut est LocalMachine.
storeName Spécifie le nom du magasin de certificats X.509 à ouvrir. Les valeurs valides sont les suivantes :

- AddressBook : magasin de certificats pour d’autres utilisateurs.
- AuthRoot : magasin de certificats pour les autorités de certification (CA) tierces.
- CertificationAuthority : magasin de certificats pour les autorités de certification (CA) intermédiaires.
- Disallowed : magasin de certificats pour les certificats révoqués.
- My : magasin de certificats pour les certificats personnels.
- Root : magasin de certificats pour les autorités de certification (AC) racines approuvées.
- TrustedPeople : magasin de certificats pour les personnes et les ressources directement approuvées.
- TrustedPublisher : magasin de certificats pour les éditeurs directement approuvés.

La valeur par défaut est My.
X509FindType Définit le type de recherche X.509 à exécuter. Les valeurs valides sont les suivantes :

- FindByThumbprint
- FindBySubjectName
- FindBySubjectDistinguishedName
- FindByIssuerName
- FindByIssuerDistinguishedName
- FindBySerialNumber
- FindByTimeValid
- FindByTimeNotYetValid
- FindByTemplateName
- FindByApplicationPolicy
- FindByCertificatePolicy
- FindByExtension
- FindByKeyUsage
- FindBySubjectKeyIdentifier

Le type contenu dans l'attribut findValue doit satisfaire les spécifications du X509FindType spécifié.

La valeur par défaut est FindBySubjectDistinguishedName.

Éléments enfants

Aucune.

Éléments parents

Élément Description
<clientCertificate>

Notes

L'élément <certificate> est utilisé lorsque le service doit disposer du certificat du client à l'avance afin de communiquer de manière sécurisée avec le client. Cela se produit lors de l'utilisation du modèle de communication duplex. Dans le modèle demande-réponse classique, le client inclut son certificat dans la demande que le service utilise pour sécuriser à nouveau sa réponse au client. Dans le modèle de communication duplex, toutefois, le service ne dispose pas de demande du client et, par conséquent, requiert le certificat du client à l'avance pour sécuriser l'envoi du message au client. C'est pourquoi vous devez obtenir le certificat du client dans une négociation hors bande et l'indiquer à l'aide de cet élément. Pour plus d’informations sur les services duplex, consultez le Guide pratique pour créer un contrat duplex.

Exemple

Le code suivant indique comment rechercher un certificat X.509 approprié ainsi qu’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