structure KERB_CERTIFICATE_LOGON (ntsecapi.h)

La structure KERB_CERTIFICATE_LOGON contient des informations sur une session d’ouverture de session de carte intelligente.

Il est passé en tant que paramètre AuthenticationInformation à la fonction LsaLogonUser lorsque le package de sécurité Kerberos effectue une ouverture de session intelligente interactive carte.

Syntaxe

typedef struct _KERB_CERTIFICATE_LOGON {
  KERB_LOGON_SUBMIT_TYPE MessageType;
  UNICODE_STRING         DomainName;
  UNICODE_STRING         UserName;
  UNICODE_STRING         Pin;
  ULONG                  Flags;
  ULONG                  CspDataLength;
  PUCHAR                 CspData;
} KERB_CERTIFICATE_LOGON, *PKERB_CERTIFICATE_LOGON;

Membres

MessageType

Membre du KERB_LOGON_SUBMIT_TYPE énumération qui indique comment cette structure est utilisée. Le membre doit être l’une des valeurs suivantes.

Valeur Signification
KerbCertificateLogon
13
Cette structure est passée en tant que paramètre AuthenticationInformation à la fonction LsaLogonUser pour effectuer une ouverture de session intelligente interactive carte.
KerbCertificateUnlockLogon
15
Cette structure est utilisée comme membre d’ouverture de session d’une structure KERB_CERTIFICATE_UNLOCK_LOGON .

DomainName

Nom de domaine de l’utilisateur à authentifier. La valeur de ce membre peut être vide. Si la valeur n’est pas vide, LsaLogonUser utilise la valeur pour localiser le centre de distribution de clés (KDC). Si la valeur est vide, LsaLogonUser tente de s’authentifier auprès du domaine auquel l’ordinateur est joint. Le pointeur est relatif au début de la structure et n’est pas un pointeur mémoire absolu.

UserName

Nom d’utilisateur de l’utilisateur à authentifier. La valeur de ce membre peut être vide. Si la valeur n’est pas vide, LsaLogonUser utilise la valeur pour localiser le compte d’utilisateur à authentifier. Le pointeur est relatif au début de la structure et n’est pas un pointeur mémoire absolu.

Pin

Code confidentiel à utiliser pour authentifier l’utilisateur. Le membre Length de cette structure n’inclut pas le caractère null de fin du code confidentiel. Le pointeur est relatif au début de la structure et n’est pas un pointeur mémoire absolu.

Le code confidentiel peut être protégé à l’aide de la fonction CredProtect .

Flags

Indicateurs facultatifs qui contrôlent le comportement de l’authentification. Les valeurs suivantes sont définies.

Valeur Signification
KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES
0x1
Le KDC vérifie le certificat pour plusieurs mappages de comptes.
KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO
0x2
Le KDC utilise les informations de certificat pour l’authentification.

Windows Server 2008 R2, Windows 7, Windows Server 2008 et Windows Vista : Cet indicateur n’est pas disponible.

CspDataLength

Longueur, en caractères, du membre CspData .

CspData

Pointeur vers une structure de KERB_SMARTCARD_CSP_INFO qui contient des informations sur le fournisseur de services de chiffrement intelligent carte ou un pointeur vers une structure de KERB_CERTIFICATE_INFO marshalée lors de la mise à jour des informations d’identification de certificat.

Remarques

Cette structure, ainsi que les données pointées par les membres DomainName, UserName, Pin et CspData , sont contenues dans un seul bloc de mémoire contiguë. Lorsque cette structure est sérialisée, les décalages spécifiés par chacun de ces membres doivent être des multiples de deux.

Les pointeurs stockés dans les membres de UNICODE_STRING type sont relatifs au début de la structure et ne sont pas des pointeurs de mémoire absolus.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête ntsecapi.h

Voir aussi

KERB_CERTIFICATE_UNLOCK_LOGON

KERB_SMARTCARD_CSP_INFO

LsaLogonUser