<autenticazione dell'elemento><serviceCertificate>
Specifica le impostazioni usate dal proxy del client per autenticare i certificati dei servizi ottenuti mediante la negoziazione SSL/TLS.
<Configurazione>
<system.serviceModel>
<Comportamenti>
<endpointBehaviors>
<Comportamento>
<Clientcredentials>
<serviceCertificate>
<Autenticazione>
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 usati per convalidare un tipo personalizzato. |
certificateValidationMode | Specifica una delle tre modalità usate per convalidare credenziali. Se è impostato su Custom , è necessario fornire anche un customCertificateValidator. Il valore predefinito è ChainTrust . |
revocationMode | Una delle modalità usate per verificare un elenco dei certificati revocati. Il valore predefinito è Online . |
trustedStoreLocation | Uno di due percorsi dell'archivio di sistema: LocalMachine o CurrentUser . Questo valore viene usato quando viene negoziato un certificato del servizio con il client. La convalida viene eseguita sull'archivio Persone attendibile nel percorso di archiviazione specificato. Il valore predefinito è CurrentUser . |
Attributo customCertificateValidator
Valore | Descrizione |
---|---|
string | Specifica il nome e l'assembly del tipo e altri dati usati per trovare il tipo. |
Attributo certificateValidationMode
Valore | Descrizione |
---|---|
Enumerazione | Uno dei valori seguenti: None, PeerTrust, ChainTrust, PeerOrChainTrust, Custom. Per altre informazioni, vedere Utilizzo dei certificati. |
Attributo revocationMode
Valore | Descrizione |
---|---|
Enumerazione | Uno dei valori seguenti: NoCheck, Online, Offline. Per altre informazioni, vedere Utilizzo dei certificati. |
Attributo trustedStoreLocation
Valore | Descrizione |
---|---|
Enumerazione | Uno dei valori seguenti: LocalMachine o CurrentUser. L'impostazione predefinita è CurrentUser. Se l'applicazione client è in esecuzione con un account di sistema, il certificato è in genere in LocalMachine. Se l'applicazione client è in esecuzione con un account utente, il certificato è in genere in CurrentUser. |
Elementi figlio
Nessuno.
Elementi padre
Elemento | Descrizione |
---|---|
<serviceCertificate> | Specifica un certificato da usare per l'autenticazione di un servizio presso il client. |
Commenti
L'attributo certificateValidationMode
di questo elemento di configurazione specifica il livello di attendibilità usato 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ù protetta. 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 usato in fase di sviluppo e di debug dei client e dei servizi. Quando si distribuisce un client è invece opportuno usare il livello ChainTrust
. È inoltre possibile impostare il valore su Custom
o None
. Per usare il valore Custom
è necessario impostare anche l'attributo customCertificateValidator
sull'assembly e sul tipo usati per convalidare il certificato. Per creare una convalida personalizzata, è necessario ereditare una classe dalla classe X509CertificateValidator astratta. Per altre informazioni, vedere Procedura: Creare un servizio che usa un validator di certificato personalizzato.
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 altre informazioni, vedere Utilizzo dei certificati.
Esempio
Nell'esempio vengono svolte due attività: Specifica innanzitutto un certificato del servizio da usare per il client durante la comunicazione con gli endpoint il cui nome di dominio è www.contoso.com
tramite il protocollo HTTP. In secondo luogo, specifica la modalità di revoca e il percorso dell'archivio usati durante l'autenticazione.
<serviceCertificate>
<defaultCertificate findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="TrustedPeople"
x509FindType="FindByIssuerDistinguishedName" />
<scopedCertificates>
<add targetUri="http://www.contoso.com"
findValue="www.contoso.com"
storeLocation="LocalMachine"
storeName="Root"
x509FindType="FindByIssuerName" />
</scopedCertificates>
<authentication revocationMode="Online"
trustedStoreLocation="LocalMachine" />
</serviceCertificate>
Vedi anche
- X509RecipientCertificateClientElement
- X509CertificateRecipientClientCredential
- Authentication
- X509ServiceCertificateAuthentication
- Comportamenti di sicurezza
- Utilizzo dei certificati
- Procedura: Creare un servizio che usa un validator del certificato personalizzato
- <Autenticazione>
- Protezione di client
- Protezione di servizi e client