structure SEC_WINNT_AUTH_IDENTITY_EX2 (sspi.h)
Contient des informations sur une identité d’authentification. La structure SEC_WINNT_AUTH_IDENTITY_EX2 contient des données d’authentification fournies à la fonction AcquireCredentialsHandle.
Syntaxe
typedef struct _SEC_WINNT_AUTH_IDENTITY_EX2 {
unsigned long Version;
unsigned short cbHeaderLength;
unsigned long cbStructureLength;
unsigned long UserOffset;
unsigned short UserLength;
unsigned long DomainOffset;
unsigned short DomainLength;
unsigned long PackedCredentialsOffset;
unsigned short PackedCredentialsLength;
unsigned long Flags;
unsigned long PackageListOffset;
unsigned short PackageListLength;
} SEC_WINNT_AUTH_IDENTITY_EX2, *PSEC_WINNT_AUTH_IDENTITY_EX2;
Membres
Version
Numéro de version de la structure. Cela doit être SEC_WINNT_AUTH_IDENTITY_VERSION_2.
cbHeaderLength
Taille, en octets, de l’en-tête de structure.
cbStructureLength
Taille, en octets, de la structure.
UserOffset
Décalage entre le début de la structure et le début de la chaîne de nom d’utilisateur.
UserLength
Taille, en octets, de la chaîne de nom d’utilisateur.
DomainOffset
Décalage entre le début de la structure et le début de la chaîne de nom de domaine.
Les informations d’identification d’identité doivent contenir le nom du fournisseur d’identité au lieu du nom de domaine.
DomainLength
Taille, en octets, de la chaîne de nom de domaine.
PackedCredentialsOffset
Décalage entre le début de la structure et le début des informations d’identification packées.
Les informations d’identification packées sont une structure SEC_WINNT_AUTH_PACKED_CREDENTIALS qui contient un type d’informations d’identification qui spécifie de manière unique le type d’informations d’identification.
PackedCredentialsLength
Taille, en octets, de la chaîne d’informations d’identification packées.
Flags
Indicateur de long
Valeur | Signification |
---|---|
|
Toutes les données se situent dans une mémoire tampon. |
|
Utilisé avec le fournisseur de support de sécurité |
|
Les informations d’identification sont sous forme ANSI. |
|
Les informations d’identification sont au format Unicode. |
|
Lorsque le type d’informations d’identification est un mot de passe, la présence de cet indicateur spécifie que la structure est des informations d’identification d’ID en ligne. Les membres DomainOffset et DomainLength correspondent au nom du fournisseur d’ID en ligne.
Windows Server 2008 R2 et Windows 7 : Cet indicateur n’est pas pris en charge. |
|
La structure est chiffrée par la fonction SspiEncryptAuthIdentity ou par la fonction SspiEncryptAuthIdentityEx avec l’option SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_PROCESS. Il ne peut être déchiffré que par le même processus.
Windows Server 2008 R2 et Windows 7 : Cet indicateur n’est pas pris en charge. |
|
La structure est chiffrée par la fonction SspiEncryptAuthIdentityEx avec l’option SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_LOGON sous le contexte de sécurité SYSTEM. Il ne peut être déchiffré que par un thread s’exécutant en tant que SYSTEM.
Windows Server 2008 R2 et Windows 7 : Cet indicateur n’est pas pris en charge. |
|
La structure est chiffrée par la fonction SspiEncryptAuthIdentityEx avec l’option SEC_WINNT_AUTH_IDENTITY_ENCRYPT_SAME_LOGON sous un contexte de sécurité non-SYSTEM. Il peut uniquement être déchiffré par un thread s’exécutant dans la même session d’ouverture de session dans laquelle il a été chiffré.
Windows Server 2008 R2 et Windows 7 : Cet indicateur n’est pas pris en charge. |
|
La mémoire tampon d’identité d’authentification est cbStructureLength + 8 octets de remplissage nécessaires pour le chiffrement ou le déchiffrement sur place de l’identité. |
PackageListOffset
Décalage entre le début de la structure et le début de la liste des packages pris en charge.
PackageListLength
Taille, en octets, de la liste des packages pris en charge.
Remarques
Cette mémoire tampon d’identité d’authentification peut être retournée à partir de plusieurs API d’informations d’identification, par exemple, la méthode GetSerialization et les fonctions CredUIPromptForWindowsCredential et SspiPromptForCredentials.
La structure décrit un en-tête de la mémoire tampon d’identité d’authentification et les données sont ajoutées à la fin de la structure. Bien que la taille de la mémoire tampon soit spécifiée par le membre cbStructureLength, la taille réelle de la mémoire tampon peut être supérieure ou inférieure à cbStructureLength. Certaines fonctions, telles que SspiValidateAuthIdentity, prennent un pointeur, mais pas la taille de la mémoire tampon, vers la structure d’identité comme entrée. Par conséquent, ces fonctions peuvent valider les données de mémoire tampon interne, mais ne peuvent pas vérifier la taille de la mémoire tampon. Cela peut entraîner la lecture ou l’écriture de données en dehors de la plage de mémoires tampons. Pour éviter les dépassements de mémoire tampon lors de la gestion d’une mémoire tampon d’identité non approuvée, les applications doivent appeler SspiUnmarshalAuthIdentity pour obtenir un pointeur vers une structure d’identité avec une taille validée, puis passer ce pointeur aux fonctions.
La structure SEC_WINNT_AUTH_IDENTITY_EX2 peut être retournée par QueryContextAttributes(CredSSP) et consommée par AcquireCredentialsHandle(CredSSP), LsaLogonUseret d’autres interfaces de fournisseur d’identité.
SEC_WINNT_AUTH_PACKED_CREDENTIALS peut contenir un type d’informations d’identification de mot de passe, défini comme SEC_WINNT_AUTH_DATA_TYPE_PASSWORD. Ce type d’informations d’identification décrit les informations d’identification de mot de passe d’un utilisateur de domaine ainsi que d’autres identités en ligne. Les applications doivent définir _SEC_WINNT_AUTH_TYPES pour compiler du code qui référence ce type d’informations d’identification ainsi que d’autres définitions de la structure SEC_WINNT_AUTH_PACKED_CREDENTIALS.
Les applications ne doivent pas interroger ou définir directement les indicateurs de membre. Utilisez les
Les fournisseurs d’identité doivent vérifier ou définir explicitement SEC_WINNT_AUTH_IDENTITY_FLAGS_ID_PROVIDER et les champs de nom de domaine pour différencier leurs informations d’identification de mot de passe d’un mot de passe de domaine et du mot de passe d’un autre fournisseur d’identité.
La fonction
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 7 [applications de bureau uniquement] |
serveur minimum pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
d’en-tête | sspi.h |