<authentication> dell'elemento <serviceCertificate>
Specifica le impostazioni utilizzate dal proxy del client per autenticare i certificati dei servizi ottenuti mediante la negoziazione SSL/TLS.
Gerarchia dello schema
<system.serviceModel>
<comportamenti>
<comportamentiEndpoint>
<behavior> di <endpointBehaviors>
<credenzialiClient>
<serviceCertificate> di <serviceCredentials>
<authentication> dell'elemento <serviceCertificate>
Sintassi
<authentication customCertificateValidatorType="String" certificateValidationMode="None/PeerTrust/ChainTrust/PeerOrChainTrust/Custom"
revocationMode="NoCheck/Online/Offline"
trustedStoreLocation="LocalMachine/CurrentUser" />
Attributi ed elementi
Nelle sezioni seguenti vengono descritti attributi, elementi figlio ed elementi padre.
Attributi
Attributo | Descrizione |
---|---|
customCertificateValidatorType |
Stringa. Un tipo e un assembly utilizzati per convalidare un tipo personalizzato. |
certificateValidationMode |
Specifica una delle tre modalità utilizzate per convalidare credenziali. Se è impostato su Custom, è necessario fornire anche un customCertificateValidator. Il valore predefinito è ChainTrust. |
revocationMode |
Una delle modalità utilizzate per verificare un elenco dei certificati revocati. Il valore predefinito è 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. Il valore predefinito è CurrentUser. |
Elementi figlio
Nessuno.
Elementi padre
Elemento | Descrizione |
---|---|
Specifica un certificato da utilizzare per l'autenticazione di un servizio nel client. |
Osservazioni
L'attributo certificateValidationMode 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
Riferimento
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