【问题标题】:How can I renew Kerberos Ticket in Windows?如何在 Windows 中更新 Kerberos 票证?
【发布时间】:2016-06-16 22:09:05
【问题描述】:

在 Linux 中,我可以运行 kinit -Rkrenew 来刷新 Kerberos Ticket。如何使用命令行在 Windows 中刷新 Kerberos Ticket?我试图通过 Google 查找,但找不到任何可以帮助我的东西。

【问题讨论】:

  • kinit.exe 只是 MIT 发布的命令行工具,请从 MIT 下载 windows 版本。

标签: linux windows kerberos


【解决方案1】:

如果您谈论的是 Windows Kerberos 实现,则没有必要。不管你有一张有效的票,过期的还是没有的。一旦您登录 Windows,LSA 就会将您的主体和密码保留在内存中,并在必要时重新获得新的票证。

要验证这一点,请下载 Microsoft 资源工具包,您拥有 kerbtray.exeklist.exe。清除缓存,检查 kerbtray,访问受 Kerberos 保护的资源,Windows 将自动发出 AS-REQTGS-REQ

【讨论】:

  • 你能告诉我。系统如何理解资源受 kerberos 保护?它通过 http 响应头 WWW-AUTHENTICATE 来定义它?
  • @wazz 服务端要求客户端认证,客户端要求KDC等等。
  • 我问是因为当系统检测到它应该初始化票证时我没有得到。我有一个服务器应用程序返回 WWW-AUTHENTICATE: Negotiate header 以响应 kerberos 身份验证。如果门票已经在系统中初始化,一切正常。但是使用 WWW-AUTHENTICATE: Negotiate 从服务器接收响应不会使客户端系统重试缓存的票证。我创建了一个问题stackoverflow.com/questions/51203494/…,请问您对此有一些假设吗?
【解决方案2】:

您是否尝试在 cmd 上使用“klist purge”?这样做可以删除缓存的票证。要再次创建票证,您只需再次访问受保护的资源

【讨论】:

    【解决方案3】:

    您的意思是您只想在 Windows 中续订票证?如果你有一个 Java 安装并且很高兴重新验证它有一个kinit tool(在 java 安装目录的 bin 目录中)。

    否则你可以看看 MITs beta Kerberos for Windows

    【讨论】:

    • 如果我理解正确kinit 可以创建新票,但不刷新存在。我的流程很长,这个流程只需要一张票。
    • 不,但是它将新票证存储在票证缓存中,并且根据您的客户端应用程序,它可能会很高兴地使用新的 kinited TGT(获取票证的票证)更新服务票证。不过,请检查@Michael-o 的答案,这可能已经为您处理好了。我更熟悉 Linux/Java 应用程序和 kerberos。
    猜你喜欢
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多