/** * 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(); }
@Override public void addEntry(KeytabEntry entry) { PrincipalName principal = entry.getPrincipal(); List<KeytabEntry> entries = principalEntries.get(principal); if (entries == null) { entries = new ArrayList<>(); principalEntries.put(principal, entries); } entries.add(entry); }
@Override public void addEntry(KeytabEntry entry) { PrincipalName principal = entry.getPrincipal(); List<KeytabEntry> entries = principalEntries.get(principal); if (entries == null) { entries = new ArrayList<>(); principalEntries.put(principal, entries); } entries.add(entry); }
@Override public void removeKeytabEntry(KeytabEntry entry) { PrincipalName principal = entry.getPrincipal(); List<KeytabEntry> entries = principalEntries.get(principal); if (entries != null) { Iterator<KeytabEntry> iter = entries.iterator(); while (iter.hasNext()) { KeytabEntry tmp = iter.next(); if (entry.equals(tmp)) { iter.remove(); break; } } } }
@Override public void removeKeytabEntry(KeytabEntry entry) { PrincipalName principal = entry.getPrincipal(); List<KeytabEntry> entries = principalEntries.get(principal); if (entries != null) { Iterator<KeytabEntry> iter = entries.iterator(); while (iter.hasNext()) { KeytabEntry tmp = iter.next(); if (entry.equals(tmp)) { iter.remove(); break; } } } }