java kinit创建的凭证文件与Windows缓存创建的凭证文件之间的区别

时间:2014-07-14 13:46:59

标签: java authentication kerberos

希望知道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;凭据是一样的。? 感谢

0 个答案:

没有答案