【问题标题】:How to use Kerberos ticket on another machine如何在另一台机器上使用 Kerberos 票证
【发布时间】:2014-09-07 08:20:26
【问题描述】:

我有机器 A 和机器 B。 在 machineA 中,我使用 Java 模块 KerberosTicket 来获取登录用户的凭据。例如

....
KerberosTicket ticket = (KerberosTicket)privatePrincipal;
return ticket.getEncoded();
....

然后我把票带到机器B。如何使用 Java 验证此票证属于有效用户/委托人?有示例代码吗?

我在网上搜索似乎使用 JAAS 是一种方式。这意味着我必须以某种方式从 ticket.getEncoded() 创建一个 krb5cc 文件并作为 USeTicketCache 的参数传递。但是,是否有其他替代方法而无需创建物理文件?

有没有办法找回存储在票内的“密码”? 谢谢

【问题讨论】:

  • 您似乎缺少对 kerberos 工作原理的基本了解。票证中没有密码,基本 kerberos 票证中甚至没有密码之类的东西。也许这是一个语言问题,但我什至不知道从哪里开始尝试回答你的问题。如果您正确使用 API,则不必担心这些。

标签: java kerberos


【解决方案1】:

我不精通 JAAS,但对 krb5 协议有很好的理解,在验证之前,无法从 kerberos 票证 (TGT) 中检索密码,因为库内部会执行密码的 string2key()用户凭据并缓存它。此外,如果您的密码可以从 krb5 票证中检索到,那么它在网络上就不再安全了。

【讨论】:

    猜你喜欢
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 2011-05-29
    • 1970-01-01
    • 2018-01-06
    相关资源
    最近更新 更多