package io.fathom.cloud.keyczar; import org.keyczar.Crypter; import org.keyczar.GenericKeyczar; import org.keyczar.KeyMetadata; import org.keyczar.exceptions.KeyczarException; import org.keyczar.interfaces.KeyczarReader; public interface KeyczarFactory { KeyczarReader getReader(String key) throws KeyczarException; KeyczarReader getReader(String key, Crypter crypter) throws KeyczarException; GenericKeyczar find(String keystoreId, Crypter crypter) throws KeyczarException; GenericKeyczar create(String keystoreId, KeyMetadata kmd, Crypter crypter) throws KeyczarException; /** * Makes sure that there is an active key. * * @return true if something changed (i.e. key created) */ boolean ensureKeyCreated(GenericKeyczar store) throws KeyczarException; void publicKeyExport(String dest, GenericKeyczar serviceSecret) throws KeyczarException; }