Snego
Snego, dont l’identificateur de service d’authentification est RPC_C_AUTHN_GSS_NEGOTIATE, ne fournit pas réellement de services d’authentification lui-même. 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 passés au service d’authentification choisi, qui effectue l’authentification réelle. Snego a été normalisé par le Groupe de travail d’ingénierie Internet (IETF) en décembre 1998, dans le document RFC 2478.
Snego est utile lorsque vous ne savez pas quels services d’authentification 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_C_AUTHN_GSS_NEGOTIATE en tant que membre dwAuthnSvc de l’une des structures SOLE_AUTHENTICATION_SERVICE dans le paramètre de tableau asAuthSvc 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 des services d’authentification possibles pour Snego via le membre PackageList de la structure SEC_WINNT_AUTH_IDENTITY_EX qui est passée au paramètre pAuthInfo dans l’appel à CoSetProxyBlanket. Si pAuthInfo est 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.
Note
Schannel ne peut pas figurer dans la liste des services d’authentification que Snego utilise.
Les clients peuvent également spécifier Snego lorsqu’ils appellent CoInitializeSecurity. Les paramètres dwAuthnSvc et pAuthInfo de CoSetProxyBlan ket deviennent membres d’une structure SOLE_AUTHENTICATION_INFO passée à 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 choisi par Snego pour établir la connexion.
Rubriques connexes