Condividi tramite


Inizializzazione del contesto client

Per stabilire una connessione sicura, il client acquisisce un credenziali in uscita handle prima di inviare una richiesta di autenticazione al server. Il server crea un contesto di sicurezza per il client dalla richiesta di autenticazione. Esistono due funzioni SSPI lato client coinvolte nella configurazione dell'autenticazione:

Il codice per questo processo può essere visualizzato nella funzione GenClientContext in Using SSPI with a Windows Sockets Client.

Se un programma client deve usare le credenziali oltre alle proprie credenziali di accesso, ad esempio un nome utente, un nome di dominio e una password diversi, li fornisce nella AcquireCredentialsHandle chiamata con una struttura SEC_WINNT_AUTH_IDENTITY specificando le credenziali aggiuntive. Per altre informazioni sulle funzioni delle credenziali, vedere Gestione delle credenziali.

Nota

Il Flag membro della struttura SEC_WINNT_AUTH_IDENTITY può essere impostato su SEC_WINNT_AUTH_IDENTITY_ANSI quando le stringhe nella struttura sono ASCI o OEM. Le stringhe ANSI possono essere usate con il membro flag della struttura SEC_WINNT_AUTH_IDENTITY impostata su SEC_WINNT_AUTH_IDENTITY_UNICODE se vengono prima convertiti in Unicode usando la funzionemultiByteToWideChar.

 

Per avviare la prima fase dell'autenticazione, il client chiama InitializeSecurityContext (Generale) per ottenere un token di sicurezza iniziale da inviare in un messaggio di richiesta di connessione al server.

Il client usa le informazioni sul token di sicurezza ricevute nel descrittore del buffer di output per generare un messaggio da inviare al server. La costruzione del messaggio, in termini di posizionamento di vari buffer e così via, fa parte del protocollo dell'applicazione e deve essere compresa da entrambe le parti.

Il client controlla lo stato restituito da InitializeSecurityContext (Generale) per verificare se l'autenticazione verrà completata in una singola chiamata. Uno stato restituito di SEC_I_CONTINUE_NEEDED indica che il protocollo di sicurezza richiede più messaggi di autenticazione. Per altre informazioni sulle funzioni di contesto, vedere Context Management.