Condividi tramite


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:

  • LocalMachine: l'archivio certificati assegnato al computer locale.

  • CurrentUser: l'archivio certificati assegnato all'utente corrente.

L'impostazione predefinita è LocalMachine.

storeName

Specifica il nome dell'archivio certificati X.509 da aprire. Di seguito vengono elencati i valori validi:

  • AddressBook: archivio certificati per altri utenti.

  • AuthRoot: archivio certificati per autorità di certificazione di terze parti.

  • CertificationAuthority: archivio certificati per autorità di certificazione intermedie.

  • Disallowed: archivio certificati per certificati revocati.

  • My: archivio certificati per certificati personali.

  • Root: archivio certificati per autorità di certificazione radice attendibili.

  • TrustedPeople: archivio certificati per utenti e risorse direttamente attendibili.

  • TrustedPublisher: archivio certificati per autori direttamente attendibili.

L'impostazione predefinita è My.

X509FindType

Definisce il tipo di ricerca X.509 da eseguire. Di seguito vengono elencati i valori validi:

  • FindByThumbPrint

  • FindBySubjectName

  • FindBySubjectDistinguishedName

  • FindByIssuerName

  • FindByIssuerDistinguishedName

  • FindBySerialNumber

  • FindByTimeValid

  • FindByTimeNotYetValid

  • FindByTemplateName

  • FindByApplicationPolicy

  • FindByCertificatePolicy

  • FindByExtension

  • FindByKeyUsage

  • FindBySubjectKeyIdentifier

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

<clientCertificate> di <serviceCredentials>

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