Snego
Snego, dont l’identificateur de service d’authentification est RPC _ C _ Authn _ GSS _ Negotiate, ne fournit pas réellement de services d’authentification. Au lieu de cela, il prend une liste de services d’authentification et négocie un service qui fonctionnera entre le client et le serveur. Les paramètres d’authentification ne sont pas utilisés par Snego mais sont transmis au service d’authentification choisi, qui effectue l’authentification réelle. Snego a été normalisé par l’IETF (Internet Engineering Task Force) en décembre 1998, dans le document RFC 2478.
Snego est utile lorsque vous ne connaissez pas les services d’authentification que l’ordinateur distant peut fournir.
Pour utiliser Snego, le client et le serveur doivent spécifier Snego comme service d’authentification. Le serveur spécifie _ RPC _ _ _ Authentication GSS Negotiate en tant que membre dwAuthnSvc de l’une des structures de _ _ service d’authentification unique dans le paramètre de tableau asAuthSvc qui est passé à CoInitializeSecurity. Le client peut spécifier Snego en appelant CoSetProxyBlanket et en passant RPC _ C _ Authn _ GSS _ Negotiate comme paramètre dwAuthnSvc . Le client doit également fournir une liste de services d’authentification possibles pour Snego via le membre PackageList de la structure de l’identité d’authentification _ winnt winnt _ _ _ qui est transmise au paramètre pAuthInfo dans l’appel à CoSetProxyBlanket. Si pAuthInfo a la valeur null, Snego compose une liste de services d’authentification à partir des packages de sécurité installés sur l’ordinateur. Ensuite, Snego envoie la liste des services d’authentification au serveur, compare la liste aux services d’authentification disponibles du serveur et choisit un service d’authentification à utiliser pour la connexion.
Notes
Schannel ne peut pas figurer dans la liste des services d’authentification utilisés par Snego.
Les clients peuvent également spécifier Snego lorsqu’ils appellent CoInitializeSecurity. Les paramètres dwAuthnSvc et pAuthInfo de CoSetProxyBlanket deviennent membres d’une structure d' _ _ informations d’authentification unique qui est transmise à CoInitializeSecurity via son paramètre pAuthList . Les détails des valeurs de ces membres sont les mêmes que ceux décrits dans le paragraphe précédent.
Si Snego est utilisé, les appels à CoQueryProxyBlanket ou CoQueryClientBlanket retournent Snego en tant que service d’authentification, plutôt que le service d’authentification réel qui Snego choisi pour établir la connexion.