Condividi tramite


<authentication> dell'elemento <serviceCertificate>

Specifica le impostazioni utilizzate dal proxy del client per autenticare i certificati dei servizi ottenuti mediante la negoziazione SSL/TLS.

<system.serviceModel>
  <comportamenti>
    <comportamentiEndpoint>
      <behavior> di <endpointBehaviors>
        <credenzialiClient>
          <serviceCertificate> di <serviceCredentials>
            <authentication> dell'elemento <serviceCertificate>

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

Attributi ed elementi

Attributi

Attributo Descrizione

customCertificateValidator

Stringa. Un tipo e un assembly utilizzati per convalidare un tipo personalizzato.

certificateValidationMode

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

revocationMode

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

trustedStoreLocation

Uno di due percorsi dell'archivio del sistema: LocalMachine o CurrentUser. Questo valore viene 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

Elemento <serviceCertificate> di <clientCredentials>

Specifica un certificato da utilizzare per l'autenticazione di un servizio nel client.

Osservazioni

L'attributo certifcateValidationMode di questo elemento di configurazione specifica il livello di attendibilità utilizzato per autenticare i certificati. 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à di certificazione attendibile 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. È inoltre possibile impostare il valore su Custom o None. Per utilizzare il valore Custom è necessario impostare anche l'attributo customCertificateValidator sull'assembly e sul tipo utilizzati per convalidare il certificato. Per creare una convalida personalizzata, è necessario ereditare una classe dalla classe X509CertificateValidator astratta. Per ulteriori informazioni, vedere How To: Create a Service Employing a Custom Certificate Validator.

L'attributo revocationMode specifica il modo in cui i certificati vengono contrassegnati per la revoca. L'impostazione predefinita è online a indicare che i certificati vengono contrassegnati automaticamente per la revoca. Per ulteriori informazioni, vedere Working with Certificates.

Esempio

Nell'esempio vengono svolte due attività: Per prima cosa specifica un certificato del servizio che viene utilizzato dal client per comunicare sul protocollo HTTP con endpoint il cui nome di dominio è www.contoso.com. In secondo luogo, specifica la modalità di revoca e il percorso dell'archivio utilizzati durante l'autenticazione.

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

Vedere anche

Riferimenti

Elemento <authentication> di <clientCertificate>
X509RecipientCertificateClientElement
X509CertificateRecipientClientCredential
Authentication
X509ServiceCertificateAuthentication

Altre risorse

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