package net.i2p.crypto; /* * free (adj.): unencumbered; not under the control of others * No warranty of any kind, either expressed or implied. */ import java.io.IOException; import java.security.GeneralSecurityException; import java.security.PublicKey; /** * A backend for storing and retrieving SigningPublicKeys * to be used for verifying signatures. * * @since 0.9.9 */ public interface KeyRing { /** * Get a key. * Throws on all errors. * @param scope a domain identifier, indicating router update, reseed, etc. * @return null if none */ public PublicKey getKey(String keyName, String scope, SigType type) throws GeneralSecurityException, IOException; /** * Store a key. * Throws on all errors. * @param scope a domain identifier, indicating router update, reseed, etc. */ public void setKey(String keyName, String scope, PublicKey key) throws GeneralSecurityException, IOException; }