希望知道Java的kinit生成的凭据文件是否与" cache"中创建的凭证文件相同。或用户登录时的内存。
例如,使用kinit,凭证文件默认为krb5_ [username]。
我还有一段代码可以从当前登录的用户那里获取Kerberos票证:
public static byte[] getTicket() {
// defined the realm, kdc etc here
.....
try {
LoginContext lc = new LoginContext("SomeLoginContext");
lc.login();
Subject signedOnUserSubject = lc.getSubject();
Set<Object> privatePrincipalsSet = signedOnUserSubject.getPrivateCredentials();
if (privatePrincipalsSet != null && privatePrincipalsSet.size() > 0) {
for (Object privatePrincipal : privatePrincipalsSet) {
//make sure it is the kerberos ticket
if (privatePrincipal instanceof KerberosTicket) {
KerberosTicket ticket = (KerberosTicket)privatePrincipal;
return ticket.getEncoded(); <------- is this correct?
}
}
}
}
catch (LoginException e) {
e.printStackTrace();
} finally {
}
return null;
}
我是否知道内部&#34;格式&#34;凭据是一样的。? 感谢