KERB_RETRIEVE_TKT_REQUEST 構造体 (ntsecapi.h)
KERB_RETRIEVE_TKT_REQUEST構造体には、チケットの取得に使用される情報が含まれています。
LsaCallAuthenticationPackage によって使用されます。Kerberos チケットは、インターネット RFC 4120 で定義されています。 詳細については、「http://www.ietf.org」を参照してください。
構文
typedef struct _KERB_RETRIEVE_TKT_REQUEST {
KERB_PROTOCOL_MESSAGE_TYPE MessageType;
LUID LogonId;
UNICODE_STRING TargetName;
ULONG TicketFlags;
ULONG CacheOptions;
LONG EncryptionType;
SecHandle CredentialsHandle;
} KERB_RETRIEVE_TKT_REQUEST, *PKERB_RETRIEVE_TKT_REQUEST;
メンバー
MessageType
KERB_PROTOCOL_MESSAGE_TYPE 要求の種類を示す値です。 このメンバーは KerbRetrieveEncodedTicketMessage に設定する必要があります。
LogonId
ログオン セッション識別子を含む LUID 構造体。 これは、現在のユーザーのログオン セッションの場合は 0 にすることができます。 ゼロでない場合、呼び出し元には SeTcbPrivilege 特権セットが必要です。 これが失敗した場合、Kerberos 認証パッケージは LsaCallAuthenticationPackage の ProtocolStatus パラメーターをSTATUS_ACCESS_DENIEDに設定します。
TargetName
ターゲット サービスの名前を含むUNICODE_STRING。
TicketFlags
取得したチケットの用途を指定するフラグが含まれます。 TicketFlags が 0 に設定されていて、キャッシュに一致するチケットが見つかった場合は、そのフラグ値に関係なく、そのチケットが返されます。 キャッシュに一致するものがない場合は、既定のフラグ値を持つ新しいチケットが要求されます。
このメンバーが 0 に設定されていない場合、返されたチケットはキャッシュされません。
CacheOptions
キャッシュを検索するためのオプションを示します。 キャッシュを検索する必要があることを示し、チケットが見つからない場合は、新しいチケットを要求する必要があることを示すには、このメンバーを 0 に設定します。
このメンバーが 0 に設定されていない場合、返されたチケットはキャッシュされません。
CacheOptions には、 次の値を含めることができます。
値 | 意味 |
---|---|
|
常に新しいチケットを要求します。キャッシュを検索しません。
チケットが取得されると、Kerberos 認証パッケージは LsaCallAuthenticationPackage 関数の ProtocolStatus パラメーターでSTATUS_SUCCESSを返します。 |
|
ログオン セッションを識別するには、LogonId の代わりに CredentialsHandle メンバーを使用します。 資格情報ハンドルは、チケットを取得するクライアント資格情報として使用されます メモ このオプションは、64 ビット Windows で実行されている 32 ビット Windows ベースのアプリケーションでは使用できません。 |
|
以前にキャッシュされたチケットのみを返します。
このようなチケットが見つからない場合、Kerberos 認証パッケージは LsaCallAuthenticationPackage 関数の ProtocolStatus パラメーターでSTATUS_OBJECT_NAME_NOT_FOUNDを返します。 |
|
Kerberos 資格情報としてチケットを返します。 Kerberos チケットは、インターネット RFC 4120 でKRB_CREDとして定義されています。 詳細については、「http://www.ietf.org」を参照してください。 |
|
実装されていません。 |
|
現在キャッシュ内にあるチケットを返します。 チケットがキャッシュにない場合は、要求され、キャッシュされます。 このフラグは、KERB_RETRIEVE_TICKET_DONT_USE_CACHE フラグと共に使用しないでください。
SP1 以前および Windows Server 2003 の Windows XP: このオプションは使用できません。 |
|
ポリシーで最大許容時間を持つ新しいチケットを返します。 ティッカーは後でキャッシュされます。 このフラグを使用すると、KERB_RETRIEVE_TICKET_USE_CACHE_ONLYが設定されておらず、KERB_RETRIEVE_TICKET_CACHE_TICKETが設定されていることを意味します。
Windows Vista、Windows Server 2008、Windows XP SP1 以前および Windows Server 2003: このオプションは使用できません。 |
EncryptionType
要求されたチケットに使用する暗号化の種類を指定します。 このメンバーが 0 に設定されていない場合、返されたチケットはキャッシュされません。
このメンバーには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
CRC-32 チェックサムを使用して暗号ブロック チェーン モードで DES 暗号化を使用します。 |
|
MD4 チェックサムを使用して暗号ブロック チェーン モードで DES 暗号化を使用します。 |
|
MD5 チェックサムを使用して暗号ブロック チェーン モードで DES 暗号化を使用します。 |
|
暗号化を使用しません。 |
|
Windows で使用されるハッシュベースのメッセージ認証コード (MAC) で RC4 ストリーム暗号を使用します。 |
|
MD4 ハッシュ関数で RC4 ストリーム暗号を使用します。 |
|
127 より大きい値はローカル値用に予約されており、予告なしに変更される可能性があります。 |
CredentialsHandle
ログオン セッション識別子の代わりに使用される SSPI 資格情報ハンドル。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
Header | ntsecapi.h |