0

目前正在尝试使用 Kerberos.Net nuget 实现一个简单的 KDC。

我已经通过随后的 bruce 工具成功获得了一个令牌,但是如果我尝试通过 java 的 kinit 或 MIT Kerberos 客户端窗口,我会得到:(注意,我在 kerberos.net 示例中遇到同样的错误

kinit:ASN.1 在获取初始凭据时调用系统时间库失败

如果我从 Ubunto 20.04 机器上尝试使用 knit(安装了 krb5-client),我会收到以下错误:

Kerberos.NET.KerberosValidationException:时间戳窗口大于允许的偏差。开始时间:2042 年 7 月 14 日凌晨 1:04:05 +00:00;结束:10/15/2021 12:13:14 PM +00:00;偏差:00:05:00 在 C:\Kerberos.NET-develop\Kerberos.NET\Server\PaDataTimestampHandler.cs:line 60 中的 Kerberos.NET.Server.PaDataTimestampHandler.Validate(KrbKdcReq asReq, PreAuthenticationContext preauth)

安装程序运行是:

AD-DC 窗口服务。2019 Windows 10 客户端(加入以上域)第二个 Windows 10 客户端 Ubuntu 20.04 上的控制台应用程序 (KDC)

目标有自己的 kdc 被 AD-DC 信任,并允许登录。

在此处输入图像描述

4

1 回答 1

0

嗯,这是一个新的(我是项目维护者)。基本上发生的事情是您以某种方式发送了一个时间戳为 2042 年的请求。

KDC 代码知道当前时间是10/15/2021 12:13:14 PM(我猜您在 12-13-14 那里输入了一个随机值?),并且它期望客户端发送的值是那个时间 +/- 5 分钟的偏差。由于 2042 不在此范围内now +/- 5 minutes,因此请求将失败。

除了客户端时间不正常并且需要更好地与 KDC 的时间源保持一致之外,我没有更多的指导。

于 2021-10-15T15:55:48.307 回答