Snego
Snego, il cui identificatore del servizio di autenticazione è RPC_C_AUTHN_GSS_NEGOTIATE, non fornisce effettivamente servizi di autenticazione. Accetta invece un elenco di servizi di autenticazione e negozia un servizio che funzionerà tra il client e il server. I parametri di autenticazione non vengono usati da Snego ma vengono passati al servizio di autenticazione scelto, che esegue l'autenticazione effettiva. Snego è stato standardizzato dalla Internet Engineering Task Force (IETF) nel dicembre 1998, nel documento RFC 2478.
Snego è utile quando non si conoscono i servizi di autenticazione che il computer remoto può fornire.
Per usare Snego, sia il client che il server devono specificare Snego come servizio di autenticazione. Il server specifica RPC_C_AUTHN_GSS_NEGOTIATE come membro dwAuthnSvc di una delle strutture SOLE_AUTHENTICATION_edizione Standard RVICE nel parametro della matrice asAuthSvc passato a CoInitializeSecurity. Il client può specificare Snego chiamando CoSetProxyBlanket e passando RPC_C_AUTHN_GSS_NEGOTIATE come parametro dwAuthnSvc . Il client deve inoltre fornire un elenco dei possibili servizi di autenticazione per Snego tramite il membro PackageList della struttura edizione StandardC_WINNT_AUTH_IDENTITY_EX passata al parametro pAuthInfo nella chiamata a CoSetProxyBlanket. Se pAuthInfo è NULL, Snego compone un elenco di servizi di autenticazione dai pacchetti di sicurezza installati nel computer. Snego invia quindi l'elenco dei servizi di autenticazione al server, confronta l'elenco con i servizi di autenticazione disponibili del server e seleziona un servizio di autenticazione da usare per la connessione.
Nota
Schannel non può essere presente nell'elenco dei servizi di autenticazione usati da Snego.
I client possono anche specificare Snego quando chiamano CoInitializeSecurity. I parametri dwAuthnSvc e pAuthInfo di CoSetProxyBlanket diventano membri di una struttura SOLE_AUTHENTICATION_INFO passata a CoInitializeSecurity tramite il relativo parametro pAuthList. I dettagli dei valori di tali membri sono gli stessi descritti nel paragrafo precedente.
Se viene usato Snego, le chiamate a CoQueryProxyBlanket o CoQueryClientBlanket restituiranno Snego come servizio di autenticazione, anziché il servizio di autenticazione effettivo scelto da Snego per stabilire la connessione.
Argomenti correlati