package es.uji.security.keystore; import java.io.IOException; import java.security.Key; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.security.Provider; import java.security.cert.Certificate; import java.security.cert.CertificateException; import java.util.Enumeration; import es.uji.security.crypto.SupportedKeystore; public interface IKeyStore { public void load(char[] pin) throws KeyStoreException, NoSuchAlgorithmException, IOException, CertificateException, Exception; public Enumeration<String> aliases() throws KeyStoreException, Exception; public Certificate getCertificate(String alias) throws KeyStoreException, Exception; public Certificate[] getUserCertificates() throws KeyStoreException, Exception; public Key getKey(String alias) throws KeyStoreException, Exception; public String getAliasFromCertificate(Certificate cer) throws Exception; public Provider getProvider(); public void setProvider(Provider provider) throws Exception; public SupportedKeystore getName(); public String getTokenName(); public byte[] signMessage(byte[] toSign, String alias) throws NoSuchAlgorithmException, Exception; public void cleanUp(); }