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結構的登入成員使用。

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

KERB_SMARTCARD_CSP_INFO 結構的指標,其中包含更新憑證認證時,智慧卡密碼編譯服務提供者的相關信息 (CSP) ) 或封送處理KERB_CERTIFICATE_INFO結構的指標。

備註

這個結構連同 DomainName、 UserName、 Pin 和 CspData 成員所指向的數據包含在連續記憶體的單一區塊中。 當串行化這個結構時,每個成員所指定的位移必須是兩個成員的倍數。

儲存在 UNICODE_STRING 類型成員中的指標會相對於結構的開頭,而不是絕對記憶體指標。

規格需求

需求 值
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 ntsecapi.h

另請參閱

KERB_CERTIFICATE_UNLOCK_LOGON

KERB_SMARTCARD_CSP_INFO

LsaLogonUser