Contesto di sicurezza

I contesti di sicurezza consentono di stabilire un contesto di sicurezza dei messaggi in base a WS-SecureConversation. Tale contesto può quindi essere usato per proteggere i messaggi come alternativa alla sicurezza one-shot in cui le credenziali vengono trasmesse per ogni richiesta. Il contesto di sicurezza stabilito è un metodo più efficiente per proteggere i messaggi quando vengono scambiati più messaggi.

I contesti di sicurezza richiedono la presenza di credenziali di sicurezza bootstrap usate per proteggere i messaggi inviati nel contesto. Le strutture WS_KERBEROS_APREQ_MESSAGE_SECURITY_BINDING, WS_XML_TOKEN_MESSAGE_SECURITY_BINDING e WS_USERNAME_MESSAGE_SECURITY_BINDING possono essere usate per questo scopo.

I contesti di sicurezza sono una funzionalità di sicurezza dei messaggi e sono configurati in base alle associazioni di sicurezza dei messaggi.

Client

Sul lato client, il contesto di sicurezza è legato a un determinato canale. Viene configurato usando il WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING. Il comportamento e la durata del contesto sono determinati dal canale. Quando il primo messaggio viene inviato sul canale, viene stabilito il contesto di sicurezza. Successivamente, il contesto viene rinnovato in modo proattivo a un intervallo configurabile. Se il server restituisce un errore che indica che il contesto richiede il rinnovo, il contesto viene rinnovato quando viene inviato il messaggio successivo. Se il canale si trova nello stato aperto, il contesto viene annullato da un messaggio di annullamento quando il canale viene chiuso.

Server

Nel server un contesto di sicurezza è configurato allo stesso modo del client. Tuttavia, non è legato a alcun canale specifico. Tutti i canali creati per il listener con il set di WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING sono invece in grado di ricevere messaggi con uno qualsiasi dei contesti di sicurezza stabiliti nei canali del listener.

Quando un messaggio arriva su un canale che supporta contesti di sicurezza, il contesto usato da tale messaggio può ottenere chiamando la funzione WsGetMessageProperty con l'WS_MESSAGE_PROPERTY_SECURITY_CONTEXT. Il valore recuperato può essere usato con WsRevokeSecurityContext e WsGetSecurityContextProperty.

Metadati

La struttura WS_SECURITY_CONTEXT_MESSAGE_SECURITY_BINDING_CONSTRAINT viene usata per estrarre i criteri di contesto di sicurezza dai metadati. Per altre informazioni, vedere Importazione dei metadati.

Gli elementi API seguenti vengono usati con contesti di sicurezza.

Enumerazione Descrizione
WS_SECURITY_CONTEXT_PROPERTY_ID Identifica una proprietà di un oggetto contesto di sicurezza.

 

Funzione Descrizione
WsGetSecurityContextProperty Ottiene una proprietà del contesto di sicurezza specificato.
WsRevokeSecurityContext Revoca un contesto di sicurezza.

 

Handle Descrizione
WS_SECURITY_CONTEXT Tipo opaco usato per fare riferimento a un oggetto contesto di sicurezza.

 

Struttura Descrizione
WS_SECURITY_CONTEXT_PROPERTY Definisce una proprietà di un WS_SECURITY_CONTEXT.