共用方式為


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結構的指標。

備註

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

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

規格需求

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

另請參閱

KERB_CERTIFICATE_UNLOCK_LOGON

KERB_SMARTCARD_CSP_INFO

LsaLogonUser