acquirecredentialhandle返回大量过期时间

AcquireCredentialsHandle returns massive expiration time

本文关键字:过期 时间 返回 acquirecredentialhandle      更新时间:2023-10-16

我正在为Windows SSPI API开发。net包装器。一些API函数返回过期时间,例如,凭据或安全上下文过期。

过期时间存储在64位结构TimeStamp中,该结构存储从1601年1月1日00:00 UTC开始的100纳秒滴答数。

当我调用acquirecredentialhandle时,返回的TimeStamp的原始值是巨大的-通常是0x7fffff154e84ffff,例如HighPart = 0x7fffff15LowPart = 0x4e84ffff这样的值。当转换为实时时,该值在30848年的某个地方。

有人知道为什么这个值如此之高吗?

看起来很可疑,因为它几乎要溢出一个有符号整数。我检查了文档,看看该值是否用于存储诸如标志或其他结构化数据之类的东西,但我没能找到任何东西。

API的其他部分有时返回类似的值,有时返回的值指示未来5分钟。

我应该提到,我正在使用这个API与Negotiate包,它很可能变成NTLM包,因为我的工作站不是域的一部分。

你现在在纽约,现在是UTC-4:00。该值与最大可能值的差值。您只需获得一个"永不过期"值,根据您的时区偏移量进行调整。——汉斯·帕桑特