KERB_CERTIFICATE_LOGON 構造体 (ntsecapi.h)

KERB_CERTIFICATE_LOGON構造体には、スマート カード ログオン セッションに関する情報が含まれています。

Kerberos セキュリティ パッケージが対話型のスマート カード ログオンを実行すると、AuthenticationInformation パラメーターとして LsaLogonUser 関数に渡されます。

構文

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;

メンバー

MessageType

この構造体の使用方法を示す KERB_LOGON_SUBMIT_TYPE 列挙体のメンバー。 メンバーは、次のいずれかの値である必要があります。

意味
KerbCertificateLogon
13
この構造体は、対話型スマート カード ログオンを実行するために、AuthenticationInformation パラメーターとして LsaLogonUser 関数に渡されます。
KerbCertificateUnlockLogon
15
この構造体は、KERB_CERTIFICATE_UNLOCK_LOGON構造体の Logon メンバーとして使用されます。

DomainName

認証するユーザーのドメイン名。 このメンバーの値は空にすることができます。 値が空でない場合、 LsaLogonUser はその値を使用して キー配布センター (KDC) を検索します。 値が空の場合、 LsaLogonUser は、コンピューターが参加しているドメインに対して認証を試みます。 ポインターは構造体の先頭を基準にしており、絶対メモリ ポインターではありません。

UserName

認証するユーザーのユーザー名。 このメンバーの値は空にすることができます。 値が空でない場合、 LsaLogonUser は 値を使用して、認証するユーザー アカウントを検索します。 ポインターは構造体の先頭を基準にしており、絶対メモリ ポインターではありません。

Pin

ユーザーの認証に使用する PIN。 この構造体の Length メンバーには、PIN の終端の null 文字は含まれません。 ポインターは構造体の先頭を基準にしており、絶対メモリ ポインターではありません。

PIN は 、CredProtect 関数を使用して保護できます。

Flags

認証の動作を制御する省略可能なフラグ。 次の値が定義されています。

意味
KERB_CERTIFICATE_LOGON_FLAG_CHECK_DUPLICATES
0x1
KDC は、証明書で複数のアカウント マッピングをチェックします。
KERB_CERTIFICATE_LOGON_FLAG_USE_CERTIFICATE_INFO
0x2
KDC は、認証に証明書情報を使用します。

Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista: このフラグは使用できません。

CspDataLength

CspData メンバーの長さ (文字数)。

CspData

スマート カード暗号化サービス プロバイダー (CSP) に関する情報を含むKERB_SMARTCARD_CSP_INFO構造体へのポインター、または証明書資格情報を更新するときにマーシャリングされたKERB_CERTIFICATE_INFO構造体へのポインター。

注釈

この構造体は、 DomainNameUserNamePinCspData メンバーが指すデータと共に、連続するメモリの 1 つのブロックに含まれています。 この構造体をシリアル化する場合、これらの各メンバーで指定されるオフセットは、2 つの倍数である必要があります。

UNICODE_STRING型のメンバーに格納されているポインターは、構造体の先頭を基準としており、絶対メモリ ポインターではありません。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header ntsecapi.h

こちらもご覧ください

KERB_CERTIFICATE_UNLOCK_LOGON

KERB_SMARTCARD_CSP_INFO

LsaLogonUser