<certificato> dell'elemento <clientCertificate>

Specifica un certificato X.509 usato per firmare e crittografare messaggi.

<Configurazione>
  <system.serviceModel>
    <Comportamenti>
      <Servicebehaviors>
        <Comportamento>
          <Servicecredentials>
            <clientCertificate>
              <Certificato>

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. Il valore predefinito è una stringa vuota.
storeLocation Specifica il percorso dell'archivio certificati X.509 usato dal client per convalidare il certificato sul server. I valori validi sono i seguenti:

- LocalMachine: archivio certificati assegnato al computer locale.
- CurrentUser: archivio certificati assegnato all'utente corrente.

Il valore predefinito è LocalMachine.
storeName Specifica il nome dell'archivio certificati X.509 da aprire. I valori validi sono i seguenti:

- AddressBook: Archivio certificati per altri utenti.
- AuthRoot: archivio certificati per le autorità di certificazione di terze parti (CA).
- CertificationAuthority: Archivio certificati per le autorità di certificazione intermedie (CA).
- Non consentito: archivio certificati per i certificati revocati.
- My: Archivio certificati per i certificati personali.
- Radice: archivio certificati per autorità di certificazione radice attendibili (CA).
- TrustedPeople: archivio certificati per persone e risorse attendibili direttamente.
- TrustedPublisher: archivio certificati per editori direttamente attendibili.

L'impostazione predefinita è My.
X509FindType Definisce il tipo di ricerca X.509 da eseguire. I valori validi sono i seguenti:

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

Commenti

L'elemento <certificate> viene usato 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 usa il modello di comunicazione duplex. Nel modello più comune di comunicazione richiesta/risposta, il client include il proprio certificato nella richiesta e il servizio usa 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 altre informazioni sui servizi duplex, vedere Procedura: Creare un contratto duplex.

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>

Vedi anche