KERB_EXTERNAL_TICKET 结构 (ntsecapi.h)

KERB_EXTERNAL_TICKET 结构包含有关外部票证的信息。

外部票证是导出到外部用户的 Kerberos 票证。 Kerberos 票证在 Internet RFC 4120 中定义。 有关详细信息,请参阅 http://www.ietf.org。此结构由 KERB_RETRIEVE_TKT_RESPONSE 结构使用。

语法

typedef struct _KERB_EXTERNAL_TICKET {
  PKERB_EXTERNAL_NAME ServiceName;
  PKERB_EXTERNAL_NAME TargetName;
  PKERB_EXTERNAL_NAME ClientName;
  UNICODE_STRING      DomainName;
  UNICODE_STRING      TargetDomainName;
  UNICODE_STRING      AltTargetDomainName;
  KERB_CRYPTO_KEY     SessionKey;
  ULONG               TicketFlags;
  ULONG               Flags;
  LARGE_INTEGER       KeyExpirationTime;
  LARGE_INTEGER       StartTime;
  LARGE_INTEGER       EndTime;
  LARGE_INTEGER       RenewUntil;
  LARGE_INTEGER       TimeSkew;
  ULONG               EncodedTicketSize;
  PUCHAR              EncodedTicket;
} KERB_EXTERNAL_TICKET, *PKERB_EXTERNAL_TICKET;

成员

ServiceName

包含多个部分(规范的返回服务名称) 的KERB_EXTERNAL_NAME 结构。

TargetName

包含 SPN ) (多部分 服务主体名称 的KERB_EXTERNAL_NAME结构。

ClientName

一个KERB_EXTERNAL_NAME结构,其中包含票证中的客户端名称。 此名称相对于当前域。

DomainName

包含与 ServiceName 成员对应的域名称的UNICODE_STRING。 这是颁发票证的域。

TargetDomainName

包含票证有效域名称的 UNICODE_STRING 。 对于域间票证,这是目标域。

AltTargetDomainName

包含目标域同义词的 UNICODE_STRING 。 每个域都有两个名称:DNS 名称和 NetBIOS 名称。 如果票证中返回的名称不同于用于请求票证的名称, (Kerberos 密钥分发中心 (KDC) 可能执行名称映射) ,则此字符串包含原始名称。

SessionKey

包含票证的会话密钥的KERB_CRYPTO_KEY结构。

TicketFlags

票证标志,如 Internet RFC 4120 中定义。 此参数可使用以下一个或多个值。

含义
KERB_TICKET_FLAGS_forwardable (0x40000000)
票证授予服务器可以根据提供的票证使用不同的网络地址颁发新的票证授予票证。
KERB_TICKET_FLAGS_forwarded (0x20000000)
票证已转发或基于涉及转发票证授予票证的身份验证颁发。
KERB_TICKET_FLAGS_hw_authent (0x00100000)
用于初始身份验证的协议要求使用预期仅由命名客户端拥有的硬件。 硬件身份验证方法由 KDC 选择,并且未指示方法的强度。
KERB_TICKET_FLAGS_initial (0x00400000)
票证是使用身份验证服务协议颁发的,而不是基于票证授予票证。
KERB_TICKET_FLAGS_invalid (0x01000000)
票证无效。
KERB_TICKET_FLAGS_may_postdate (0x04000000)
向票证授予服务器指示可以基于此票证授予票证颁发已过帐的票证。
KERB_TICKET_FLAGS_ok_as_delegate (0x00040000)
用于委派的目录服务信任票证的目标。 因此,客户端可以将其 凭据 委托给服务器,这样服务器就可以在与其他服务通信时充当客户端。
KERB_TICKET_FLAGS_postdated (0x02000000)
票证已过帐。 最终服务可以检查票证的身份验证时间成员,以确定原始身份验证的发生时间。
KERB_TICKET_FLAGS_pre_authent (0x00200000)
在初始身份验证期间,客户端在颁发票证之前由 KDC 进行身份验证。 未指示预身份验证方法的强度,但 KDC 可接受。
KERB_TICKET_FLAGS_proxiable (0x10000000)
向票证授予服务器指示,只能使用不同的网络地址颁发非票证授予票证。
KERB_TICKET_FLAGS_proxy (0x08000000)
票证是代理。
KERB_TICKET_FLAGS_renewable (0x00800000)
票证可续订。 如果设置了此标志,则续订票证的时间限制在 KERB_TICKET_CACHE_INFO 结构的 RenewTime 成员中设置。 可续订票证可用于获取在以后过期的替换票证。
KERB_TICKET_FLAGS_reserved (0x80000000)
保留供将来使用。 请勿设置此标志。
KERB_TICKET_FLAGS_reserved1 (0x00000001)
保留。

Flags

保留供将来使用。 将此成员设置为零。

KeyExpirationTime

包含密钥过期时间的 FILETIME 结构。

StartTime

包含票证生效时间的 FILETIME 结构。

EndTime

包含票证过期时间的 FILETIME 结构。

RenewUntil

包含可续订票证的最近时间的 FILETIME 结构。 在此时间之后发送的续订请求将被拒绝。

TimeSkew

FILETIME 结构,包含颁发票证的计算机上的当前时间与将使用该票证的计算机之间的测量时间差。

EncodedTicketSize

编码票证的大小(以字节为单位)。

EncodedTicket

包含 抽象语法表示法 One (ASN.1) 编码票证的缓冲区。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 ntsecapi.h