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 列挙体のメンバー。 メンバーは、次のいずれかの値である必要があります。
値 | 意味 |
---|---|
|
この構造体は、対話型スマート カード ログオンを実行するために、AuthenticationInformation パラメーターとして LsaLogonUser 関数に渡されます。 |
|
この構造体は、KERB_CERTIFICATE_UNLOCK_LOGON構造体の Logon メンバーとして使用されます。 |
DomainName
認証するユーザーのドメイン名。 このメンバーの値は空にすることができます。 値が空でない場合、 LsaLogonUser はその値を使用して キー配布センター (KDC) を検索します。 値が空の場合、 LsaLogonUser は、コンピューターが参加しているドメインに対して認証を試みます。 ポインターは構造体の先頭を基準にしており、絶対メモリ ポインターではありません。
UserName
認証するユーザーのユーザー名。 このメンバーの値は空にすることができます。 値が空でない場合、 LsaLogonUser は 値を使用して、認証するユーザー アカウントを検索します。 ポインターは構造体の先頭を基準にしており、絶対メモリ ポインターではありません。
Pin
ユーザーの認証に使用する PIN。 この構造体の Length メンバーには、PIN の終端の null 文字は含まれません。 ポインターは構造体の先頭を基準にしており、絶対メモリ ポインターではありません。
PIN は 、CredProtect 関数を使用して保護できます。
Flags
認証の動作を制御する省略可能なフラグ。 次の値が定義されています。
CspDataLength
CspData メンバーの長さ (文字数)。
CspData
スマート カード暗号化サービス プロバイダー (CSP) に関する情報を含むKERB_SMARTCARD_CSP_INFO構造体へのポインター、または証明書資格情報を更新するときにマーシャリングされたKERB_CERTIFICATE_INFO構造体へのポインター。
注釈
この構造体は、 DomainName、 UserName、 Pin、 CspData メンバーが指すデータと共に、連続するメモリの 1 つのブロックに含まれています。 この構造体をシリアル化する場合、これらの各メンバーで指定されるオフセットは、2 つの倍数である必要があります。
UNICODE_STRING型のメンバーに格納されているポインターは、構造体の先頭を基準としており、絶対メモリ ポインターではありません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
Header | ntsecapi.h |