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

Java 如何在另一台计算机上使用Kerberos票证,java,kerberos,Java,Kerberos,我有机器A和机器B。 从machineA,我使用Java模块KerberosTicket获取登录用户的凭据。乙二醇 .... KerberosTicket ticket = (KerberosTicket)privatePrincipal; return ticket.getEncoded(); .... 然后我把票带到machineB。如何使用Java验证此票证是否属于有效的用户/主体?有这样做的示例代码吗 我在网上搜索,似乎使用JAAS是一种方法。这意味着我必须以某种方式从ticket.g

我有机器A和机器B。 从machineA,我使用Java模块KerberosTicket获取登录用户的凭据。乙二醇

....
KerberosTicket ticket = (KerberosTicket)privatePrincipal;
return ticket.getEncoded();
....
然后我把票带到machineB。如何使用Java验证此票证是否属于有效的用户/主体?有这样做的示例代码吗

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

是否有办法检索存储在票据中的“密码”?
谢谢

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

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