package org.apache.kerberos.kerb.keytab; import org.apache.kerberos.kerb.spec.common.EncryptionKey; import org.apache.kerberos.kerb.spec.common.EncryptionType; import org.apache.kerberos.kerb.spec.common.PrincipalName; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.List; public interface KrbKeytab { public List<PrincipalName> getPrincipals(); public void addKeytabEntries(List<KeytabEntry> entries); public void removeKeytabEntries(PrincipalName principal); public void removeKeytabEntry(KeytabEntry entry); public List<KeytabEntry> getKeytabEntries(PrincipalName principal); public EncryptionKey getKey(PrincipalName principal, EncryptionType keyType); public void load(File keytabFile) throws IOException; public void load(InputStream inputStream) throws IOException; void addEntry(KeytabEntry entry); public void store(File keytabFile) throws IOException; public void store(OutputStream outputStream) throws IOException; }