我有machineA和machineB。 从machineA,我使用Java模块KerberosTicket来获取登录用户的凭据。例如
....
KerberosTicket ticket = (KerberosTicket)privatePrincipal;
return ticket.getEncoded();
....
然后我把票带到machineB。如何使用Java验证此票证是否属于有效的用户/委托人?是否有示例代码来执行此操作?
我在网上搜索似乎使用JAAS是一种方式。这意味着我不得不从ticket.getEncoded()创建一个krb5cc文件,并作为USeTicketCache的参数传递。但是,还有其他替代方法,而无需创建物理文件?
有没有办法检索机票内存储的“密码”? 感谢
答案 0 :(得分:0)
我不是JAAS精通,但是对krb5协议有很好的理解,没有办法从kerberos票证(TGT)中检索密码,因为库在内部执行密码的string2key(),然后才能验证用户凭据并缓存它。此外,如果您的密码可以从krb5票证中检索出来,那么它就不再安全了。