Procedura: impostare una conferma della firma

La conferma della firma è un meccanismo che permette all'iniziatore del messaggio di assicurare che la risposta ricevuta sia stata generata in risposta al messaggio originale del mittente. La conferma della firma è definita nella specifica WS-Security 1.1. Se un endpoint supporta WS-Security 1.0, non è possibile utilizzare la conferma della firma.

Nelle procedure seguenti viene illustrato come consentire la conferma della firma utilizzando un AsymmetricSecurityBindingElement. È possibile utilizzare la stessa procedura con un SymmetricSecurityBindingElement. La procedura è basata sui passaggi di base illustrati in Procedura: creare un'associazione personalizzata utilizzando SecurityBindingElement.

Per consentire la conferma della firma nel codice

  1. Creare un'istanza della classe BindingElementCollection.

  2. Creare un'istanza della classe SymmetricSecurityBindingElement.

  3. Impostare RequireSignatureConfirmation su true.

  4. Aggiungere l'elemento di protezione all'insieme di associazioni.

  5. Creare un'associazione personalizzata, come specificato in Procedura: creare un'associazione personalizzata utilizzando SecurityBindingElement.

Per consentire la conferma della firma nella configurazione

  1. Aggiungere un elemento <customBinding> alla sezione <bindings> del file di configurazione.

  2. Aggiungere un elemento <binding> e impostare l'attributo del nome su un valore appropriato.

  3. Aggiungere un elemento di codifica appropriato. Nell'esempio seguente viene aggiunto un elemento <TextMessageEncoding>.

  4. Aggiungere un elemento figlio <security> e impostare l'attributo requireSignatureConfirmation su true.

  5. Facoltativo. Per consentire la conferma della firma durante il bootstrap, aggiungere un elemento figlio secureConversationBootstrap element e impostare l'attributo equireSignatureConfirmation su true.

  6. Aggiungere un elemento di trasporto appropriato. Nell'esempio seguente viene aggiunto un httpTransport element:

    <bindings>
      <customBinding>
        <binding name="SignatureConfirmationBinding">
          <security requireSignatureConfirmation="true">
            <secureConversationBootstrap requireSignatureConfirmation="true" />
              </security>
           <textMessageEncoding />
             <httpTransport />
        </binding>
      </customBinding>
    </bindings>
    

Esempio

Nel codice seguente viene creata un'istanza di SymmetricSecurityBindingElement e viene impostata la proprietà RequireSignatureConfirmation su true. Si noti che in questo esempio non viene utilizzato l'elemento <secureConversationBootstrap> illustrato nell'esempio precedente. In questo esempio viene illustrata la conferma della firma quando si utilizza un token di Windows (protocollo Kerberos). In questo caso, la firma del client viene restituita in tutte le risposte dal servizio e viene confermata dal client.

Vedere anche

Attività

Procedura: creare un elemento SecurityBindingElement per una modalità di autenticazione specificata

Riferimenti

SymmetricSecurityBindingElement
AsymmetricSecurityBindingElement
CreateMutualCertificateBindingElement

Concetti

Procedura: creare un'associazione personalizzata utilizzando SecurityBindingElement