Snego
Snego, vars identifierare för autentiseringstjänsten är RPC_C_AUTHN_GSS_NEGOTIATE, tillhandahåller inte själva autentiseringstjänsterna. I stället tar den en lista över autentiseringstjänster och förhandlar om en tjänst som fungerar mellan klienten och servern. Autentiseringsparametrarna används inte av Snego utan skickas till den valda autentiseringstjänsten, vilket gör den faktiska autentiseringen. Snego standardiserades av IETF (Internet Engineering Task Force) i december 1998 i dokumentet RFC 2478.
Snego är användbart när du inte vet vilka autentiseringstjänster fjärrdatorn kan tillhandahålla.
Om du vill använda Snego måste både klienten och servern ange Snego som autentiseringstjänst. Servern anger RPC_C_AUTHN_GSS_NEGOTIATE som dwAuthnSvc medlem i någon av SOLE_AUTHENTICATION_SERVICE strukturerna i asAuthSvc matrisparameter som skickas till CoInitializeSecurity. Klienten kan ange Snego genom att anropa CoSetProxyBlanket och skicka RPC_C_AUTHN_GSS_NEGOTIATE som parametern dwAuthnSvc. Klienten bör också tillhandahålla en lista över möjliga autentiseringstjänster för Snego via parametern PackageList medlem i SEC_WINNT_AUTH_IDENTITY_EX struktur som skickas till parametern pAuthInfo i anropet till CoSetProxyBlanket. Om pAuthInfo är NULL-, skapar Snego en lista över autentiseringstjänster från säkerhetspaketen som är installerade på datorn. Sedan skickar Snego listan över autentiseringstjänster till servern, jämför listan med serverns tillgängliga autentiseringstjänster och väljer en autentiseringstjänst som ska användas för anslutningen.
Not
Schannel kan inte finnas med i listan över autentiseringstjänster som Snego använder.
Klienter kan också ange Snego när de anropar CoInitializeSecurity. Parametrarna dwAuthnSvc och pAuthInfo för CoSetProxyBlanket bli medlemmar i en SOLE_AUTHENTICATION_INFO struktur som skickas till CoInitializeSecurity via parametern pAuthList. Informationen om dessa medlemmars värden är densamma som beskrivs i föregående stycke.
Om Snego används returnerar anrop till CoQueryProxyBlanket eller CoQueryClientBlanket Snego som autentiseringstjänst i stället för den faktiska autentiseringstjänst som Snego valde för att upprätta anslutningen.
Relaterade ämnen