Snego
Snego, dessen Authentifizierungsdienstbezeichner RPC_C_AUTHN_GSS_NEGOTIATE ist, stellt selbst keine Authentifizierungsdienste bereit. Stattdessen wird eine Liste mit Authentifizierungsdiensten verwendet und ein Dienst ausgehandelt, der zwischen Client und Server funktioniert. Die Authentifizierungsparameter werden nicht von Snego verwendet, sondern an den ausgewählten Authentifizierungsdienst übergeben, der die eigentliche Authentifizierung durchführt. Snego wurde von der Internet Engineering Task Force (IETF) im Dezember 1998 im Dokument RFC 2478 standardisiert.
Snego ist nützlich, wenn Sie nicht wissen, welche Authentifizierungsdienste der Remotecomputer bereitstellen kann.
Um Snego zu verwenden, müssen sowohl der Client als auch der Server Snego als Authentifizierungsdienst angeben. Der Server gibt RPC_C_AUTHN_GSS_NEGOTIATE als dwAuthnSvc-Member einer der SOLE_AUTHENTICATION_SERVICE-Strukturen im asAuthSvc-Arrayparameter an, der an CoInitializeSecurity übergeben wird. Der Client kann Snego angeben, indem Er CoSetProxyBlanket aufruft und RPC_C_AUTHN_GSS_NEGOTIATE als dwAuthnSvc-Parameter übergibt. Der Client sollte auch eine Liste möglicher Authentifizierungsdienste für Snego über das PackageList-Element der SEC_WINNT_AUTH_IDENTITY_EX-Struktur bereitstellen, die beim Aufruf von CoSetProxyBlanket an den pAuthInfo-Parameter übergeben wird. Wenn pAuthInfoNULL ist, erstellt Snego eine Liste der Authentifizierungsdienste aus den auf dem Computer installierten Sicherheitspaketen. Anschließend sendet Snego die Liste der Authentifizierungsdienste an den Server, vergleicht die Liste mit den verfügbaren Authentifizierungsdiensten des Servers und wählt einen Authentifizierungsdienst aus, der für die Verbindung verwendet werden soll.
Hinweis
Schannel kann nicht in der Liste der Authentifizierungsdienste enthalten sein, die von Snego verwendet werden.
Clients können auch Snego angeben, wenn sie CoInitializeSecurity aufrufen. Die Parameter dwAuthnSvc und pAuthInfo von CoSetProxyBlanket werden Mitglieder einer SOLE_AUTHENTICATION_INFO-Struktur, die über den pAuthList-Parameter an CoInitializeSecurity übergeben wird. Die Details der Werte dieser Member entsprechen den Im vorherigen Absatz beschriebenen Werten.
Wenn Snego verwendet wird, geben Aufrufe von CoQueryProxyBlanket oder CoQueryClientBlanket Snego als Authentifizierungsdienst und nicht den tatsächlichen Authentifizierungsdienst zurück, den Snego zum Herstellen der Verbindung ausgewählt hat.