如何在另一台计算机上使用Kerberos票证

时间:2014-07-16 17:23:46

标签: java kerberos

我有machineA和machineB。 从machineA,我使用Java模块KerberosTicket来获取登录用户的凭据。例如

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

然后我把票带到machineB。如何使用Java验证此票证是否属于有效的用户/委托人?是否有示例代码来执行此操作?

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

有没有办法检索机票内存储的“密码”? 感谢

1 个答案:

答案 0 :(得分:0)

我不是JAAS精通,但是对krb5协议有很好的理解,没有办法从kerberos票证(TGT)中检索密码,因为库在内部执行密码的string2key(),然后才能验证用户凭据并缓存它。此外,如果您的密码可以从krb5票证中检索出来,那么它就不再安全了。