Elemento <authentication> di <clientCertificate>

Specifica i comportamenti di autenticazione per i certificato client utilizzati da un servizio.

<system.serviceModel>
  <comportamenti>
    <comportamentiServizio>
      <behavior> di <serviceBehaviors>
        <credenzialiServizio>
          <clientCertificate> di <serviceCredentials>
            Elemento <authentication> di <clientCertificate>

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

Attributi ed elementi

Attributi

Attributo Descrizione

customCertificateValidatorType

Stringa facoltativa. Un tipo e un assembly utilizzati per convalidare un tipo personalizzato. Questo attributo deve essere impostato quando certificateValidationMode è impostato su Custom.

certificateValidationMode

Enumerazione facoltativa. Specifica una di tre modalità utilizzate per convalidare credenziali. Se impostato su Custom, è necessario fornire anche un customCertificateValidator. L'impostazione predefinita è ChainTrust.

includeWindowsGroups

Valore booleano facoltativo. Specifica se i gruppi di Windows sono inclusi nel contesto di protezione. L'impostazione di questo attributo su true determina un effetto sulle prestazioni in quanto comporta un'espansione completa del gruppo. Impostare questo attributo su false se non è necessario stabilire l'elenco di gruppi a cui appartiene un utente.

mapClientCertificateToWindowsAcccount

Valore booleano. Specifica se è possibile eseguire il mapping del client a un'identità di Windows utilizzando il certificato. A tal scopo è necessario che Active Directory sia attivato. Per ulteriori informazioni sull'utilizzo della funzionalità Active Directory, vedere http://technet2.microsoft.com/WindowsServer/en/Library/0602148e-1a8f-4917-bb01-6fd342aba7161033.mspx.

revocationMode

Enumerazione facoltativa. Una delle modalità utilizzate per verificare un elenco dei certificati revocati. L'impostazione predefinita è Online.

trustedStoreLocation

Enumerazione facoltativa. Uno di due percorsi dell'archivio del sistema: LocalMachine o CurrentUser. Questo valore è utilizzato quando viene negoziato un certificato del servizio con il client. La convalida viene eseguita in base all'archivio Persone attendibili nel percorso dell'archivio specificato. L'impostazione predefinita è CurrentUser.

Elementi figlio

Nessuno.

Elementi padre

Elemento Descrizione

<clientCertificate> di <serviceCredentials>

Definisce un certificato X.509 utilizzato dal client per autenticare un servizio.

Osservazioni

L'elemento <authentication> corrisponde alla classe X509ClientCertificateAuthentication. Consente di personalizzare la modalità di autenticazione dei client. A tale scopo, l'attributo certificateValidationMode può essere impostato su None, ChainTrust, PeerOrChainTrust, PeerTrust o Custom. Per impostazione predefinita, il livello è impostato su ChainTrust. Tale impostazione prevede che ogni certificato appartenga a una gerarchia di certificati che termina in un'autorità radice situata all'inizio della catena. Si tratta della modalità più sicura. Il livello può inoltre essere impostato su PeerOrChainTrust, a indicare che sia i certificati autocertificati (trust peer) sia i certificati appartenenti a una catena di trust sono ritenuti attendibili. Poiché i certificati autocertificati non devono essere acquistati da un'autorità attendibile, questo livello viene utilizzato in fase di sviluppo e di debug dei client e dei servizi. Quando si distribuisce un client è invece opportuno utilizzare il livello ChainTrust.

Un altro livello disponibile è Custom. Quando si imposta il livello Custom è necessario impostare anche l'attributo customCertificateValidatorType sull'assembly e sul tipo utilizzati per convalidare il certificato. Per creare una convalida personalizzata è necessario ereditare una classe dalla classe astratta X509CertificateValidator. Per ulteriori informazioni, vedere How To: Create a Service Employing a Custom Certificate Validator.

Esempio

Nel codice seguente sono specificati un certificato X.509 e un tipo di convalida personalizzato nell'elemento <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>

Vedere anche

Riferimenti

X509ClientCertificateAuthentication
X509CertificateValidationMode
Authentication
Authentication
X509ClientCertificateAuthenticationElement

Altre risorse

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