![](/img/trans.png)
[英]C# Registry SetValue throws UnauthorizedAccessException
[英]UnauthorizedAccessException accessing registry after setting clocks forward c#
我正在尝试测试我们的软件在遇到不同的时钟情况(例如,机器不同步,夏令时等)时如何工作。 测试驱动程序尝试禁用Windows时间服务,并使用WMI修改远程计算机上的时钟。
我遇到的一个奇怪的问题是,如果我将计算机的时钟频率提前或滞后很多(例如几个月),则在尝试使用远程注册表时会开始收到UnauthorizedAccessExceptions。
有人见过这种行为吗?
更新:这些帐户是不会过期的服务帐户。
发现问题在于Kerberos安全性会认为您正在尝试进行回复攻击,因为任何传入到域控制器的授权请求都看起来像是来自将来的请求(与过去请求的请求相同) )。 从我可以收集到的5分钟来看,时钟的默认允许窗口不同步。
Kerberos具有严格的时间要求,这意味着所涉及主机的时钟必须在配置的限制内同步。 票证具有时间可用性期限,并且如果主机时钟未与Kerberos服务器时钟同步,则身份验证将失败。 MIT的默认配置要求时钟时间相隔不超过五分钟。 实际上,网络时间协议守护程序通常用于保持主机时钟同步。
http://en.wikipedia.org/wiki/Kerberos_(协议)
因此,我不得不想出一种解决此问题的方法,以解决时间服务无法正常运行的不太可能的情况。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.