Elemento <certificate> di <clientCertificate>
Specifica un certificato X.509 utilizzato per firmare e crittografare messaggi.
Gerarchia dello schema
<system.serviceModel>
<comportamenti>
<comportamentiServizio>
<behavior> di <serviceBehaviors>
<credenzialiServizio>
<clientCertificate> di <serviceCredentials>
Elemento <certificate> di <clientCertificate>
Sintassi
<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"
/>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti attributi, elementi figlio ed elementi padre.
Attributi
Attributo | Descrizione |
---|---|
findValue |
Stringa che contiene il valore da cercare nell'archivio certificati X.509. Il tipo contenuto in questo attributo deve soddisfare i requisiti del valore X509FindType specificato. L'impostazione predefinita è una stringa vuota. |
storeLocation |
Specifica il percorso dell'archivio certificati X.509 utilizzato dal client per convalidare il certificato sul server. Di seguito vengono elencati i valori validi:
L'impostazione predefinita è LocalMachine. |
storeName |
Specifica il nome dell'archivio certificati X.509 da aprire. Di seguito vengono elencati i valori validi:
L'impostazione predefinita è My. |
X509FindType |
Definisce il tipo di ricerca X.509 da eseguire. Di seguito vengono elencati i valori validi:
Il tipo contenuto nell'attributo findValue deve soddisfare i requisiti del valore X509FindType specificato. L'impostazione predefinita è FindBySubjectDistinguishedName. |
Elementi figlio
Nessuno.
Elementi padre
Elemento | Descrizione |
---|---|
Osservazioni
L'elemento <certificate> viene utilizzato quando il servizio deve disporre in anticipo del certificato del client per poter comunicare in modo sicuro con quest'ultimo. Questa esigenza si presenta quando si utilizza il modello di comunicazione duplex. Nel modello più comune di comunicazione richiesta/risposta, il client include il proprio certificato nella richiesta e il servizio utilizza tale certificato per crittografare e firmare la risposta che invia al client. Nel modello di comunicazione duplex, tuttavia, il servizio non riceve alcuna richiesta dal client e pertanto deve disporre in anticipo del certificato del client per proteggere il messaggio da inviare al client. Questo certificato deve quindi essere ottenuto mediante una negoziazione fuori banda e deve essere specificato tramite questo elemento. Per ulteriori informazioni sui servizi duplex, vedere How to: Create a Duplex Contract.
Esempio
Nel codice seguente viene illustrato come individuare un certificato X.509 appropriato 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
Riferimento
Certificate
Certificate
X509ClientCertificateCredentialsElement
Altre risorse
Security Behaviors in WCF
How To: Create a Service Employing a Custom Certificate Validator
Working with Certificates