Search in sources :

Example 1 with KeytabEntry

use of org.apache.kerby.kerberos.kerb.keytab.KeytabEntry in project hadoop by apache.

the class KDiag method dumpKeytab.

/**
   * Dump a keytab: list all principals.
   *
   * @param keytabFile the keytab file
   * @throws IOException IO problems
   */
private void dumpKeytab(File keytabFile) throws IOException {
    title("Examining keytab %s", keytabFile);
    File kt = keytabFile.getCanonicalFile();
    verifyFileIsValid(kt, CAT_KERBEROS, "keytab");
    Keytab loadKeytab = Keytab.loadKeytab(kt);
    List<PrincipalName> principals = loadKeytab.getPrincipals();
    println("keytab principal count: %d", principals.size());
    int entrySize = 0;
    for (PrincipalName princ : principals) {
        List<KeytabEntry> entries = loadKeytab.getKeytabEntries(princ);
        entrySize = entrySize + entries.size();
        for (KeytabEntry entry : entries) {
            EncryptionKey key = entry.getKey();
            println(" %s: version=%d expires=%s encryption=%s", entry.getPrincipal(), entry.getKvno(), entry.getTimestamp(), key.getKeyType());
        }
    }
    println("keytab entry count: %d", entrySize);
    endln();
}
Also used : Keytab(org.apache.kerby.kerberos.kerb.keytab.Keytab) EncryptionKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey) PrincipalName(org.apache.kerby.kerberos.kerb.type.base.PrincipalName) File(java.io.File) KeytabEntry(org.apache.kerby.kerberos.kerb.keytab.KeytabEntry)

Example 2 with KeytabEntry

use of org.apache.kerby.kerberos.kerb.keytab.KeytabEntry in project hadoop by apache.

the class TestKerberosUtil method createKeyTab.

private void createKeyTab(String fileName, String[] principalNames) throws IOException {
    //create a test keytab file
    List<KeytabEntry> lstEntries = new ArrayList<KeytabEntry>();
    for (String principal : principalNames) {
        // duplicate principals
        for (int kvno = 1; kvno <= 3; kvno++) {
            EncryptionKey key = new EncryptionKey(EncryptionType.NONE, "samplekey1".getBytes(), kvno);
            KeytabEntry keytabEntry = new KeytabEntry(new PrincipalName(principal), new KerberosTime(), (byte) 1, key);
            lstEntries.add(keytabEntry);
        }
    }
    Keytab keytab = new Keytab();
    keytab.addKeytabEntries(lstEntries);
    keytab.store(new File(testKeytab));
}
Also used : Keytab(org.apache.kerby.kerberos.kerb.keytab.Keytab) ArrayList(java.util.ArrayList) KerberosTime(org.apache.kerby.kerberos.kerb.type.KerberosTime) EncryptionKey(org.apache.kerby.kerberos.kerb.type.base.EncryptionKey) PrincipalName(org.apache.kerby.kerberos.kerb.type.base.PrincipalName) File(java.io.File) KeytabEntry(org.apache.kerby.kerberos.kerb.keytab.KeytabEntry)

Aggregations

File (java.io.File)2 Keytab (org.apache.kerby.kerberos.kerb.keytab.Keytab)2 KeytabEntry (org.apache.kerby.kerberos.kerb.keytab.KeytabEntry)2 EncryptionKey (org.apache.kerby.kerberos.kerb.type.base.EncryptionKey)2 PrincipalName (org.apache.kerby.kerberos.kerb.type.base.PrincipalName)2 ArrayList (java.util.ArrayList)1 KerberosTime (org.apache.kerby.kerberos.kerb.type.KerberosTime)1